为什么许多大型网站不使用JAVA

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

原作者: GigaSpaces的CTO兼首席架构师

在前几个礼拜里,我和我的同事Geva Perry讨论过这个问题 “为什么许多大型网站不使用JAVA”。在blogosphere上描述了很多比较受欢迎的网站的架构情况。如.Google,Amazon,eBay,LinkedIn,TypePad,WikiPedia等。

它们的架构大致如下:

通过这些网站的架构,大致有一些看法:这些网站基本上是以LAMP作为核心运行栈,有的将制定自己的文件系统(GOOGLE,GFS)。一些正在

使用缓存来解决数据库的瓶颈问题。(memcached).其中许多人被迫开发适合自身的解决方案,因为当然没有任何现成的替代方案

能够解决他们的需求。

在金融世界兴起的今天,一些关键任务的应用和这些WEB应用有大的不同。在金融世界里,JAVA,以及在较小程序上的J2EE被广泛采用。近几天,性能的需求变化在资本市场的领导下,向中级软件进行转移,引用网络运行解决方案,虚拟CPU资源,以及批量并行的应用。DATA GRIDS同样被引进,可用的虚拟内存资源,spring在这个行业中,作为统一的开发框架。在GigaSpaces中,我看到了越来越多的情况,使J2EE被spring替代。

如果你仔细研究这两个世界(即金融世界和非金融世界),我们能看出他们具有相似的挑战和性能。毫不奇怪,最后都得使用相同的方案来解决挑战和性能。

对于数据层,我们看到:

1. 加入缓冲层,以充分利用内存资源可用性,来减少I/O开销。

2. 将数据分离成很小很小的部分。

在业务逻辑层:

3. 加入并行语义的应用层。(e.g.,MapReduce)

4. 从不连续的应用层到线性连续的扩展。

5. 为事务牏逐渐远离精典的两阶提交和XA。

虽然有许多相似的挑战,并在一定程序上,具有类似的架构,似乎(WEB和金融)采取不同的路线,因为它涉及到不同的领域。

对于高性能的网站,有人发帖问:为什么不使用J2EE。

答案可归纳如下:

1. LAMP提交一高效便宜的解决方案(其中大部分是依靠免费的开源代码)。

2. JAVA仍然在被使用,只是不作为主要的语言,而是作为一个组件,在前端或者后端被使用(如:servlets)

在这个问题上,我有自己的想法,但是我也很高兴有人能就此事发表意见,我会非常高兴。。

机器人 2007-10-8 11:06 翻译完成。

此条目发表在 LAMP 分类目录,贴了 , 标签。将固定链接加入收藏夹。

为什么许多大型网站不使用JAVA》有 1 条评论

  1. Pingback 引用通告: agnosi

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>