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

原创 2007年10月08日 09:33:00

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

原文地址: 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

为什么大型网站前端使用 PHP 后台逻辑用 Java?

最近纠结了一下,如果开发一个大型的网站,我到底应该使用php还是jsp,后台到底使用php还是用java,我的选择要么是php要么是java,因为我喜欢linux、unix,当然window平台也必须...
  • infsafe
  • infsafe
  • 2014年09月07日 15:37
  • 6514

大型网站Session管理

随着网站的功能和用户越来越多,单机器服务部署的Web应用已经不能再支持了。这时候就需要优化或调整目前的架构,具体怎么优化,或先优化哪部分,这取决于网站的具体情况, 并非总是一个套路。 具...
  • yanli1979
  • yanli1979
  • 2016年08月01日 11:43
  • 1332

为什么大型网站都采用get方法,而非post方法

前几天工作中,所有表单我都采用post方法,头儿说那样不好,大型网站上一般都采用get方法,不理解。 在网上摘到一段比较有用的话  减低服务器流量压力 根据 HTTP 规范,GET ...
  • findsafety
  • findsafety
  • 2015年07月29日 15:51
  • 6431

没事写的博客网站,和大多数博客功能差不多,日志,相册,留言,评论等。part2

  • 2008年09月28日 21:17
  • 13.99MB
  • 下载

没事写的博客网站,和大多数博客功能差不多,日志,相册,留言,评论等。part1

  • 2008年09月28日 21:02
  • 23.84MB
  • 下载

学习分层和目标管理 适用于大多数大型项目 虽然这里是指学习开源项目 但有共通性

1. 学习分层和目标管理  对于一个开源项目,可以将与之相关的各种知识和技能的学习大致划分为如下五个层次:  第一层次:了解项目的基本概念、基本用途、逻辑结构、基本原理、产生背景、...
  • lupin8888
  • lupin8888
  • 2014年04月11日 09:20
  • 266

大型网站系统与JAVA中间件实践

  • 2018年01月11日 12:13
  • 99.8MB
  • 下载

大型网站系统与JAVA中间件实践

  • 2017年10月31日 14:29
  • 48B
  • 下载

大型网站系统与Java中间件实践

  • 2017年12月21日 14:06
  • 8.51MB
  • 下载

大型网站系统与Java中间件实践

  • 2015年03月09日 17:52
  • 49.42MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: 为什么大多数大型网站不是用Java写的
举报原因:
原因补充:

(最多只允许输入30个字)