Java服务器开发基础知识(1)

因为实际需要所致,我们不得不考虑在现有的开源/商用的应用服务器之外开发一个,有性能要求、有并发要求的服务端应用,从技术要求的角度来分析一下,用Java实现这件事情我们可能关注的知识层面。

在整体上,可能需要我们从下面几个层面出发来考虑:

1.在硬件和操作系统层面:为什么需要关注这两个方面的知识,因为Java并没有自己的线程,使用的也是OS中的IO,所以我们不得不去了解系统在不同的硬件、OS上面的适用情况、运行情况。比方说,多核技术对于操作系统的影响,这种影响直接会传递到JVM层面;对于数据传输操作的DMA(Direct Memory Access, 存储器直接访问)方式的了解,便于我们更好的了解CPU和IO的关系。同样的,对于OS层面的select/poll/epoll的认识,不仅帮助我们去理解Java的IONIO(New IO)AIO(Asynchronous IO)的发展之路,同时让我们对IO/NIO/AIO在Java层面的体现有更清晰的思路。

Select

Select在1983年首次出现,是在4.2BSD中。通过select()的系统调用来监视包含多个文件描述符的数组;当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。

Select方式现在为几乎所有的平台支持,具备良好的跨平台支持。同时,select()方式需要维护一个存储文件描述符的数据结构,随着其的增加,对其的内存操作的开销也会线性增加;每次网络响应,进程在调用select()的时候都会对所有的socket做一次线性扫描,包括那些处于非活跃状态的连接,这也是一个巨大的开销;在系统方面,每个进程能够监视的文件描述符的数量是有最大限制的,通过宏FD_SETSIZE来指定的,在Linux中这个值默认是1024,修改这个宏值并生效,有时候可能需要重新编译OS的内核:).

Poll

Poll是在1986先首次出现,是在System V Release 3中。其和select相比在本质上变化不大,只是poll没有了select方式的最大文件描述符数量的限制。

注:select()和poll()采用的模型都是:水平触发(Level Triggered)。

Epoll

Epoll是在Linux 2.6版本中开始有内核直接支持的实现方式。这种方式的三个特点:

a. 同时支持水平触发LT和边缘触发ET。

LT(Level Triggered)是缺省的工作方式,同时支持block和no-block socket。在这种模式中,内核将就绪的文件描述符告诉进程后,进程可以对这个就绪的fd进行IO操作。如果进程不作任何操作,那么内核会在下次调用中继续将这些文件描述符报告给进程,所以,这种模式在编程中出错误可能性要小一点。传统的select/poll都是这种模型的代表.

ET (edge-triggered)是高速工作方式,只支持no-block socket。在这种模式中,当文件描述符从未就绪状态变为就绪状态时,内核通过epoll报告给进程。然后内核会假设进程知道文件描述符已经就绪,并且不会再为这个(种)文件描述符发送更多的就绪通知,直到进程做了某些操作导致这个(种)文件描述符不再为就绪状态了(比如,进程在发送,接收或者接收请求,或者发送接收的数据少于一定量时导致 了一个EWOULDBLOCK 错误)。同时请注意,如果一直不对这个(种)fd作IO操作(从而导致它再次变成未就绪),内核不会发送更多的通知(only once)。不过在TCP协议中,ET模式的加速效用仍需要更多的benchmark确认。

b. epoll模式在操作中获得就绪的文件描述符时,返回的不是实际的文件描述符,而是一个代表就绪文件描述符的值,然后在文件描述符数组中查询对应的的文件描述符。这样避免系统调用时候在内存中数据结构复制的开销。

c. epoll采用事件通知方式。即每一个文件描述符都对应的注册了一个类似callback,当就绪激活时,通过callback和进程进行匹配操作。避免了select在每次调用的时候都遍历整个socket的扫描开销。

因此epoll具备优势:支持一个进程打开大数目的socket描述符(FD);IO效率不随FD数目增加而线性下降;用mmap加速内核与用户空间的消息传递;和内核微调一起协调工作。

注:似乎Apache主要采用的是select模式;而lighttpd和nginx主要采用epoll模式—带考证确认。

关于处理器架构的一点儿知识

在关注Android的时候,有一些CPU架构方面的术语知识需要给自己补充的。主要有ARM、X86/Atom、MIPS、PowerPC,其中ARM在智能手机上面一枝独秀:)
其中ARM/MIPS/PowerPC均是基于精简指令集机器处理器的架构;
X86则是基于复杂指令集的架构,Atom是x86或者是x86指令集的精简版。
根据各种新闻,Android在支持各种处理器的现状:
ARM+Android 最早发展、完善的支持,主要在手机市场、上网本、智能等市场;
X86+Android 有比较完善的发展。有atom+Android的上网本,且支持Atom+Android 和 Atom+Window7双系统;
MIPS+Android 目前在移植、完善过程中;
Powpc+Android 目前在移植、完善过程中。

ARM系列
ARM架构,过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于行动通讯领域,符合其主要设计目标为低耗电的特性。
在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。在此还有一些基于ARM设计的派生产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。
优势:价格低;能耗低;
ARM 授权方式:ARM 公司本身并不靠自有的设计来制造或出售 CPU ,而是将处理器架构授权给有兴趣的厂家。ARM 提供了多样的授权条款,包括售价与散播性等项目。对于授权方来说,ARM 提供了 ARM 内核的整合硬件叙述,包含完整的软件开发工具(编译器、debugger、SDK),以及针对内含 ARM CPU 硅芯片的销售权。对于无晶圆厂的授权方来说,其希望能将 ARM 内核整合到他们自行研发的芯片设计中,通常就仅针对取得一份生产就绪的智财核心技术(IP Core)认证。对这些客户来说,ARM 会释出所选的 ARM 核心的闸极电路图,连同抽象模拟模型和测试程式,以协助设计整合和验证。需求更多的客户,包括整合元件制造商(IDM)和晶圆厂家,就选择可合成的RTL(暂存器转移层级,如 Verilog)形式来取得处理器的智财权(IP)。借着可整合的 RTL,客户就有能力能进行架构上的最佳化与加强。这个方式能让设计者完成额外的设计目标(如高震荡频率、低能量耗损、指令集延伸等)而不会受限于无法更动的电路图。虽然 ARM 并不授予授权方再次出售 ARM 架构本身,但授权方可以任意地出售制品(如芯片元件、评估板、完整系统等)。商用晶圆厂是特殊例子,因为他们不仅授予能出售包含 ARM 内核的硅晶成品,对其它客户来讲,他们通常也保留重制 ARM 内核的权利。
生产厂商:TI (德州仪器)/Samsung(三星)/Freescale(飞思卡尔)/Marvell(马维尔)/Nvidia(英伟达)
下面是四核ARM芯片架构图,可以参看:
<图已遗失>

x86系列/Atom处理器
xx86或80x86是英代尔Intel首先开发制造的一种微处理器体系结构的泛称。
x86架构是重要地可变指令长度的CISC(复杂指令集电脑,Complex Instruction Set Computer)。
Intel Atom(中文:凌动,开发代号:Silverthorne)是Intel的一个超低电压处理器系列。处理器采用45纳米工艺制造,集成4700万个晶体管。L2缓存为512KB,支持SSE3指令集,和VT虚拟化技术(部份型号)。
现时,Atom处理器系列有6个型号,全部都是属于Z500系列。它们分别是Z500、Z510、Z520、Z530、Z540和Z550。最低端的Z500内核频率是800MHz,FSB则是400MHz。而最高速的Z550,内核频率则有2.0GHz,FSB则是533MHz。从Z520开始,所有的处理器都支持超线程技术,但只增加了不到10%的耗电。双内核版本为N系列,依然采用945GC芯片组。双内核版本仍会支持超线程技术,所以系统会显示出有4个逻辑处理器。这个版本的两个内核并非采用本地设计,只是简单的将两个单内核封装起来。

MIPS系列
MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。
MIPS技术公司是美国著名的芯片设计公司,它采用精简指令系统计算结构(RISC)来设计芯片。和英特尔采用的复杂指令系统计算结构(CISC)相比,RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的下一代处理器。MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。MIPS自己只进行CPU的设计,之后把设计方案授权给客户,使得客户能够制造出高性能的CPU。
1984年,MIPS计算机公司成立,开始设计RISC处理器;
1986年推出R2000处理器。
1992年,SGI收购了MIPS计算机公司。
1988年推R3000处理器。
1991年推出第一款64位商用微处器R4000;之后又陆续推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型号。
1998年,MIPS脱离SGI,成为MIPS技术公司;随后,MIPS公司的战略发生变化,把重点放在嵌入式系统;1998年-MIPS科技股票在美国纳斯达克股票交易所公开上市。
1999年,MIPS公司发布MIPS32和MIPS64架构标准,为未来MIPS处理器的开发奠定了基础。新的架构集成了所有原来NIPS指令集,并且增加了许多更强大的功能。MIPS公司陆续开发了高性能、低功耗的32位处理器内核(core)MIPS324Kc与高性能64位处理器内核MIPS64 5Kc。
2000年,MIPS公司发布了针对MIPS32 4Kc的版本以及64位MIPS 64 20Kc处理器内核。
2007年8月16日-MIPS科技宣布,中科院计算机研究所的龙芯中央处理器获得其处理器IP的全部专利和总线、指令集授权。
2007年12月20日-MIPS科技宣布,扬智科技已取得其针对先进多媒体所设计的可定制化系统单芯片(SoC)核心“MIPS32 24KEc Pro”授权。

PowerPC系列
PowerPC 是一种精简指令集(RISC)架构的中央处理器(CPU),其基本的设计源自IBM(国际商用机器公司)的IBM PowerPC 601 微处理器POWER(Performance Optimized With Enhanced RISC;《IBM Connect 电子报》2007年8月号译为“增强RISC性能优化”)架构。二十世纪九十年代,IBM(国际商用机器公司)、Apple(苹果公司)和Motorola(摩托罗拉)公司开发PowerPC芯片成功,并制造出基于PowerPC的多处理器计算机。PowerPC架构的特点是可伸缩性好、方便灵活。
PowerPC 处理器有广泛的实现范围,包括从诸如 Power4 那样的高端服务器 CPU 到嵌入式 CPU 市场(任天堂 Gamecube 使用了 PowerPC)。PowerPC 处理器有非常强的嵌入式表现,因为它具有优异的性能、较低的能量损耗以及较低的散热量。除了象串行和以太网控制器那样的集成 I/O,该嵌入式处理器与“台式机”CPU 存在非常显著的区别。

互补型的实时性(Real Time)较好的DSP架构
DSP是微处理器的一种,这种微处理器具有极高的处理速度.因为应用这类处理器的场合要求具有很高的实时性(Real Time)。比如通过移动电话进行通话,如果处理速度不快就只能等待对方停止说话,这一方才能通话。如果双方同时通话,因为数字信号处理速度不够,就只能关闭信号连接.在DSP出现之前数字信号处理只能依靠MPU(微处理器)来完成。但MPU较低的处理速度无法满足高速实时的要求。因此,直到70年代,有人才提出了DSP的理论和算法基础。那时的DSP仅仅停留在教科书上,即便是研制出来的DSP系统也是由分立元件组成的,其应用领域仅局限於军事、航空航天部门。90年代DSP发展最快,相继出现了第四代和第五代DSP器件。现在的DSP属於第五代产品,它与第四代相比,系统集成度更高,将DSP芯核及外围元件综合集成在单一芯片上。这种集成度极高的DSP芯片不仅在通信、计算机领域大显身手,而且逐渐渗透到人们日常消费领域。

百科:
ARM架构 http://zh.wikipedia.org/zh-cn/ARM%E6%9E%B6%E6%A7%8B#.E5.85.A7.E6.A0.B8.E7.A8.AE.E9.A1.9E
ARM架构 http://www.txrjy.com/baike/view.asp?ARM%BC%DC%B9%B9
dsp架构 http://baike.c114.net/view.asp?id=17155-2E64F9EF
x86 http://zh.wikipedia.org/zh-cn/x86
AMD http://zh.wikipedia.org/zh-cn/%E8%B6%85%E5%A8%81%E5%8D%8A%E5%AF%BC%E4%BD%93
ARM:
云计算中心的基石,ARM架构?http://goo.gl/OMwl
ARM问鼎服务器 能否成为挑战x86的黑马 http://goo.gl/zsB3
Android:
Android助力mips移动战略 http://goo.gl/EgM4
分析ARM与ANDROID市场及技术结合点 http://goo.gl/854L
论山寨手机与Android http://goo.gl/nd9C
Android资源 http://goo.gl/m62y
国内Android 市场调查 http://goo.gl/pOHQ
PC World:Android与iPhone手机的五大战场 http://goo.gl/QEpZ
Android 2.2 for Intel 夏天公布 http://goo.gl/AveA
华硕将推”ARM架构+Android OS”上网本 http://goo.gl/DOFp
Intel:
MeeGo:开放源代码 Linux开发者蠢蠢欲动 http://goo.gl/wGXr
英特尔在智能手机处理器市场挑战ARM显劣势 http://goo.gl/cT4n
Android支持x86 Intel全力开发今夏亮相 http://goo.gl/8sw0
完成统一霸业! 凌动处理器性能全解析 http://goo.gl/BYKr
Apple:
第一篇详尽的 iPhone 4 评测 http://goo.gl/pzoE
传苹果欲再购一家处理器厂商 看好ARM架构 http://goo.gl/Os5G

2009年的Eclipse社区调查结果

文章《Eclipse社区调查结果发布》是Elcipse Community的一个使用调查报告,参入调查者53.8%是Programmer,17.7%是System Architect,11.5%是Development Manager。
在这个数据里面,可以分析:
1.在开发工具方面,Windows/Linux/Mac OS X + Subversion/CVS + Bugzilla/Atlassian Jira + Oracle/MySQL + Tomcat/JBoss是主流选择。说明这些工具已经和广大Eclipser们朝夕相处了,这些产品或者是商用的,或者是开源的,都已经在广大开发者中间实践并大幅推广了;(产品/工具)
2.使用开源、贡献开源代码的人大幅度增加:48.2%的参入调查者所在的公司允许使用OSS并反馈回OSS社区(而2007年是37%);46%的参入调查者所在的公司仅仅允许使用OSS而不能反馈回OSS社区(而2007年是27%);其中15.6%的参入调查者所在的组织把OSS作为商业模式(their organation relies on OSS as a business model),而2007年这个数据是10%;(社区)
3.89.1%用户对Eclipse满意或者很满意。(声望)

开普敦大学

开普敦大学
南非开普敦大学(University of Cape Town)成立于1829年,位于西开普省的开普敦市。经过100多年的发展与扩大,开普敦大学已经成为南非乃至世界一流的国立综合大学,它的校园优美,交通方便,周围有公共汽车站、小汽车站、出租车站、火车站等。开普敦大学以其优质的教学方法、优美的学习环境、高水平的科学研究闻名,并培养出了大批高质量的学生。开普敦大学与许多国家的大学(多数为世界知名的大学)保持着密切的联系,并互派留学生,目前共有来自数十个国家的2200多名留学生在此就读。大学内设有计算机房,图书馆、校内学生宿舍、餐厅、体育设施、娱乐设施、实验楼、学生办公室等服务设施。
开普敦大学-概述
开普敦大学(University of Cape Town)(简称开大)是南非最古老的大学。其前身是1829年建立的南非学院,当时只招收男生。1879年起开始招收女生。正式建开普敦大学时间是 1918年,1928年迁至目前在Rondebosch区的校址。卫生科学系、艺术系和商学院分别设在 Observatory, Gardens和Waterfront等地。
学校管理当局分为理事会和评议会,理事会管理非学术事务,评议会指导学校的学术工作。
开大科研实力雄厚,享有世界声誉,是非洲大陆的学术研究中心之一。世界上第一例人类心脏移植手术就是由开大附属医院之一格鲁特斯库尔医院的克里斯•巴纳德教授(Prof Chris Barnard)完成。开大有两名教授曾获诺贝尔奖:阿伦•科马克(Allan Cormack,1979年诺贝尔生理或医学奖)和艾伦•克拉格(Aron Klug,1982年因其在电子显微镜学及核酸合成物方面的成就获诺贝尔化学奖)。有22名A级科学家,居南非各大学首位。
开普敦大学是南非是非洲大陆的学术研究中心之一。开普敦大学现有17000名学生,其中三分之一是研究生,每年授予的本科学位超过 3000个,包括六个学院:商务、工程和建筑环境、健康科学、人文、法律和理工学院。开普敦大学为其拥有来自不同国家、不同文化背景的学生而骄傲,现有来自70个国家超过2500名国际学生。学校拥有世界一流的研究设施和科研成果,45位不同学术领域的专家,享有世界声誉。
开大许多系(尤其是医学院和自然科学院系)与其它大学进行了许多国际性的合作研究项目,如心脏胸外科、白血病研究、儿童健康学、地球化学、动物学、海洋学、分子学等等。生命学院的菲茨帕特里克非洲鸟类学研究所是南半球最主要、最好的鸟类学研究机构之一,每年都吸引了许多其它国家的科学家来此访问和工作。1976年成立的非洲研究中心,主要致力于非洲人文的各个领域(包括历史、考古、语言、文学、保健等)里的教学和研究。2000年3月,北京大学与开普敦大学签署了学术交流意向书。
开普敦大学-历史沿革
开普敦大学是南非其中一间名列前茅的大学,亦是昔日对抗种族隔离政策的中心。该校创始于1829年,是南非共和国第一间大学。在创校之时,大学的名称为南非学院(South African College),只为传教士提供教育服务。及后经过多年发展后,开普敦大学已成为世界首屈一指的高等院校。世界上第一宗人类心脏移植手术就是由开普敦大学附属医院的克里斯•班纳特教授 (Prof. Chris Barnard)所完成的。另外,开普敦大学亦有两名毕业生得过诺贝尔奖,分别是1979年得到诺贝尔生理学或医学奖的阿伦•哥麦克(Allan Cormack)、及1982年获得诺贝尔化学奖的艾朗•克卢格 (Aron Klug)。
英国《商业时报》的年度调查,开普敦大学商学院在世界前一百名MBA学校中排名第82位。《商业时报》的
排名对象是全日制的MBA课程和学校,排名依据三个评估标准。根据开普敦大学商学院院长杜诺凡的介绍, 此次排名的第一个标准是MBA学生在毕业后和工作中的表现,其次是对学校本身的考核,考查学生和教职员工多样化程度,第三个评估标准就是学校的业绩和在研究领域做出的贡献。
这是开普敦大学商学院首次被列入世界排名前一百位。学校的毕业生在工作中的表现有力的证明了他们的学历名不虚传。另外近年来,学院的教职员工们的研究成果也在不断增加。
开普敦大学-地理位置
开普敦是世界著名的旅游城市,融合了各种文化特色的国际性大都市,在其城市内、海滩、山脉和森林随处可寻。大学的主校区坐落在半岛角(Cape Peninsula)魔鬼山(Devil Peak),地处非洲的最南端。特殊的地理位置和优美的自然环境为学生的课余活动提供了天然的便利,丰富的运动和休闲项目使学生可以充分领会到南非的特色。
UCT主要校园区位于美丽迷人的半岛桌山脚下,它建立于1829年。UCT是南非最古老的大学,已有近200多年的历史了;也是非洲大陆最主要的研究院校之一;更是世界上100所著名大学之一。该校学科齐全,而且学术水平居世界前列,为世界所共认。UCT拥有在校生17000多,其中三分之一是研究生;每年从学校毕业的本科生也有3000多人。同时UCT也非常欢迎国际学生,目前学校有来自世界70多个国家的2500名国际留学生。该校设有6个学院。
开普敦大学-院系设置
共有10大学院(文学院、商学院、教育学院、工程学院、美术与建筑学院、法学院、医学院、音乐学院、自然科学院、社会科学与人文科学学院)、100 多个系科、近40个研究中心和研究所,每年授予的本科学位超过3000个。现有教职员工4305人,17000名学生,其中三分之一是研究生,包括来自 70个国家的2500名学生。
商学院:商务科学、商业(会计,经济学,信息系统)、商务学术发展项目工程和环境建设学院;建筑和计划、建筑和产权研究、化学工程、城市工程、电子工程、电子和计算机工程、电子机械工程。
健康科学学院: 药物学士、语言疗法学士和耳病学士、职业治疗法学士、物理疗法学士
人文学院: 戏剧、古典研究、应用统计学、考古、性别研究、哲学、公共管理
法学院: 人文和法律、商业和法律、法律学士
理工学院: 生物、环境科学、化学、分子和细胞科学、信息技术、数学、物理和统计科
开普敦大学-学院荣誉
开普敦大学是南非最古老的大学,成立于 1829年,是非洲大陆的学术研究中心之一,是国际排名第39位的著名大学。
知名毕业生:
Sir Aaron Klug 爵士(诺贝尔化学奖, 1982)
Prof. Allan McLeod Cormack 教授 (诺贝尔药学奖, 1979)
Prof. Emeritus J. M. Coetzee 约翰•麦斯威尔•库切教授 (诺贝尔文学奖, 2003)
Christiaan Barnard 巴纳德教授,世界第一例换心手术
Mark Shuttleworth, 世界第二名自费旅行太空的年轻富豪,Ubuntu Linux 的创始人
Mamphela Ramphele, 世界银行管理总裁
Neville Isdell, 可口可乐公司总裁
知名学者
Cosmologist George Ellis 和 Stephen Hawking (2004 数学最高奖Templeton Prize)
Andre Brink,知名作家
Breyten Breytenbach,知名作家
17 名国际 A 级别标志的科学家
参考图片:

原文来源:
http://www.hudong.com/wiki/开普敦大学
http://www.uct.ac.za/contact/campus/
http://www.uct.ac.za

读《Geek and Penguin》(开源的路)

文章《Geek and Penguin》(原文)论述了融入到开源中去的八种步伐。
给人印象深刻的两句话:
To truly embrace open-source is not just to read about it, but to apply it to everyday life.
open-source doesn’t necessarily mean cheaper- in a lot of ways, it means better.
这八种步伐分别是:
1.Install LINUX on your computer.
2.Use free, open-source software.
3.If you’re a developer, contribute to an open-source project.
4.Start a blog. Tell people HOW you achieved your accomplishments.
5.Join an open source community.
6.Promote Open Source. Preach the Gospel.
7.Create your own open source project.
8.Become an Open Source expert.
其中:
Open Source User通过1,2方式使用开源。
Open Source Participator通过3,4,5方式参入开源。
Open Source Expert通过6,7,8方式为开源布道。

也许每一天你都在使用开源,那参入、布道呢?

NoSQL

NoSQL是一个易于误解的名词,其在技术社区是全称not only sql的缩写。
它主要是来源于人们对于下一代数据库的发展和定位思想:non-relational,distributed,open-source,horizontal scalable。这场全新的数据库革命运动在2009年告诉增长,同时希望具备更多特性:schema-free,easy replication support,simple API,eventulally consistent/BASE。
NoSQL的整体架构主要可被分为四层(原图来源):
<图已遗失>

  1. 接口层(Interfaces):这层主要是为应用层次或者客户层提供API接口,主要包括:REST,Map Reduce,Get/Put,Thrift和语言特定的API等。
  2. 逻辑数据模型层(Logical Data Model):这层主要是提供数据的逻辑表现形式,其逻辑模型主要有:Key-Value,列式,文档形式和图式等。
  3. 数据分布模型层(Data Distribution Model):这层主要是实现了数据分布功能,主要有:CAP支持,多数据中心支持和动态部署支持等多种形式。
  4. 数据持久化层(Data Persitence):这层主要是定义了数据的存储/持久化形式,主要有四种形式:基于内存,基于硬盘,内存和硬盘兼容存储等。
    NoSQL在市场上的产品可以按其提供的逻辑数据模型来划分,主要分为:
    Wid Column Store/Column Families
    Document Store
    Key Value/Tuple Store
    Eventually Consistent Key Value StoreGraph Databases
    Object Databases
    Grid Database Solutions
    XML Dababases
    others等等。
    不同的逻辑数据模型的产品,也会适用于不同的行业业务,具体的NoSQL系统请参考http://nosql-databases.org/

参考:
http://www.infoq.com/articles/nosql-in-the-enterprise
http://nosql-databases.org/

Caching Architecture for Web Scaling Out

OSCON 2009大会Joaauin Ruiz在Controlling the Addiction:Best Practices for Scaling with Memcached&the LAMP Stack主题演讲中探讨的Caching Architecture for Scaling Out:
<图已遗失>

从这个图的层次可以看到,Web架构在物理上可能至少需要关注的Layer层次:
1.Client客户端
2.Internet CDN
3.Net Interface
4.Web Stack(包含Memcached的缓存所在的层次)
5.Storage Interface和Storage

Adobe Flash Player as a platform

根据Adobe 2009的数据,Adobe Flash Player拥有99%Desktop电脑设备和超过2百万的专业用户,稳然超过Java成为PC之上的第一平台了,其排名顺序依次是:Adobe Flash Player, Java, Apple Quicktime Player, Adobe Shockwave Player, RealOne Player。

<图已遗失>

在这个平台为王和Web 2.0的年代里面,Adobe在电脑终端平台里面,抢先一步;在最近互联网技术和架构里面,也可以看到Adobe的技术十分抢风头:)