为什么大多数大型网站不是用Java写的

news/2024/6/18 19:03:19

国庆长假,老外在热烈的讨论这个话题,

原文地址: http://natishalom.typepad.com/nati_shaloms_blog/2007/10/why-most-scalab.html

我摘录部分观点如下:

Most of these sites are using LAMP as the core runtime stack

Some develop their own file system (Google, GFS)

Some are using caching to solve the database bottleneck (memcached and the like)


--


introducing similar solutions for addressing the scalability challenges: 在解决伸缩性方面的尝试:

On the Data Tier we see the following:

1. Adding a caching layer to take advantage of memory resources

availability and reduce I/O overhead
2. Moving from a database-centric approach to partitioning, aka shards

注:shards是google贡献给hibernate的一个项目,他是hibernate的一个扩展,可以

透明的实现数据的分布存储。至于如何分布存储由你自己定义策略,例如典型的

RoundRobinShardSelectionStrategy

 

On the Business Logic Tier:

3. Adding parallelization semantics to the application tier (e.g.,

MapReduce)
注:MapReduce是Google开发的C++编程工具,用于大规模数据集(大于1TB)的并行运算。MapReduce通过把对数据集的大规模操作分发给网络上的每个节点实现可靠性;每个节点会周期性的把完成的工作和状态的更新报告回来。MapReduce会生成大量的临时文件,为了提高效率,它利用Google文件系统来管理和访问这些文件。


4. Moving to scale-out application models to achieve linear scalability
注:
scaling:the ability of an application to address growth in throughput,

usage, and capacity
有两种策略:scale out 和 scale up
scale up vs scale out 的区别在于:
 1 Reliance on hardware versus reliance on software
 2 Equation with "first-class" hardware versus "commodity" hardware
 3 Massive versus incremental capacity increases
 4 Centralized versus partitioned application architectures
简单的说就是一个靠提升单个硬件的配置,另一个靠用低端配置实现集群


5. Moving away from the classic two-phase commit and XA for transaction

processing  (See: Lessons from Pat Helland: Life Beyond Distributed

Transactions)
注: 不使用传统的分布式事务处理,例如EJB的事务,使用新的基于space的中间件平台 Space Based Architecture (SBA) and GigaSpaces XAP





http://www.niftyadmin.cn/n/3654368.html

相关文章

可撤销消费和撤销消费在过程型交易中的应用

可撤销消费和撤销消费在过程型交易中的应用———一种新型的电子钱包过程型交易的解决方案纪鸿舜 陈晓蕾 蔡文成 闫家睿论文摘要:根据现有电子钱包应用过程型交易中采用复合应用消费交易引发的困难和复杂性,从COS层次解读和分析问题并提出了一种新型的交…

真正的maven私服搭建器--Artifactory

一个团队要真正用好Maven,repository私服是免不了的,否则team mate们多好奇的目光,都会全部消耗在漫长的jar下载中。以前介绍过一个搭建私服的简朴但很笨的办法--将雷锋同志下载好的.m2/repository目录整个上传到任意的Web服务器中。其实世上…

ESB架构笔记

又一次重温ESB的两份经典文档:ESB综述1:定义ESB、ESB综述2:ESB使用案例 (InfoQ) Defining the ESB (DDJ) 还有一本三年前的《Enterprise Service Bus》OReilly,想想还是算了。 刚好昨天看到Gigaspaces的eXtreme Application…

ORM如何用才不是滥用

ORM如何用才不是滥用因为web 应用每一次处理都要响应一个数据库操作,添加,修改,或者删除,所以关联集合对象的取出不是必要的ORM自动取出对象,自动发现变化,自动保存也许只有在桌面程序或者有状态的web应用&…

用flatworm解析和生成Flat Files开发指南

用flatworm解析和生成Flat Files开发指南 For Version 2.0 Last Revised December, 2009 Flat files. Much as we live in an XML/SOAP/Web Services world, theres still a ton of data being moved around between proprietary and legacy applications that consists of …

Java技术随想

CSDN英雄大会召开前之随想早春三月,江南大地虽然还是处于春捂时节,但万物复苏的清新感觉还是扑面而来.承蒙各位支持我的好友的投票,我在CSDN的MVB票选中获得了第二名,在即将到来的四月份,我荣幸的受CSDN的邀请参加其组织的英雄会.这是对我去年一年坚持写博的一份肯定和鼓励.从事…

创维推出基于RFID的“云电视”

即将在下月大量上市的创维“云电视”,将通过运用“成都造”RFID(射频识别)技术,在全球首开家电行业的电子保单时代……8日,从成都武侯区获悉,落户该区的台湾晨星半导体旗下全资子公司成都美实达信息技术有限…

开始使用SmartDraw绘制开发中的各种图形

1 对于不需要将UML生成代码,或者反向生成UML的项目,没有必要使用标准的UML工具构建完整的UML模型来画图,SmartDraw其实只是一个矢量图工具,所以很多地方想怎么画怎么画,例如名字可以用中文,一些不重要的函数…