為什麼大多數大型網站不是用Java寫的

來源:互聯網
上載者:User

國慶長假,老外在熱烈的討論這個話題,

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.