J2EE clustering 1---有些老了
來源:互聯網
上載者:User
J2EE clustering 1
概述
如果想要建立一個可伸縮的高可靠性的網站,就需要瞭解叢集技術(clustering).本文中,Abraham Kang介紹了J2EE叢集, 怎樣實現叢集, 並列出Bluestone Total-e-server, Sybase Enterprise Application Server, SilverStream Application Server 和 WebLogic Application Server在叢集技術上有什麼區別.基於這些知識,你就能夠設計自己有效且高效的 J2EE applications.
Abraham Kang
企業越來越多地選擇Java 2, Enterprise Edition (J2EE)來開發它們基於任務的網上應用.在 J2EE framework中, 叢集技術能保證最少的downtime,最大的伸縮性.一個叢集就是一組application servers透明地運行J2EE應用服務,就好像它們是一個整體. 在叢集中必須提供額外的機器.若要將服務是健降至最短,其中的每個組件都必須是冗餘的.
在本文中,我們將獲得關於叢集的基本知識和叢集的方法,以及重要的叢集服務.由於業內叢集技術差別很大,我們將比較每種技術的優劣.更進一步的,我們將討論與叢集有關的application server將要實現的特性.
為聯絡實際應用,我們將看一看HP Bluestone Total-e-Server 7.2.1, Sybase Enterprise Application Server 3.6, SilverStream Application Server 3.7, 和BEA WebLogic Server 6.0 各是怎樣實現叢集的.
本文的第二部分中,我們的討論將涉及叢集的編程和差錯恢複策略,並測試我們所提到的4種application server產品是怎樣伸縮規模和進行差錯恢複的.
叢集的定義
<div>J2EE application server的供應商把叢集定義為一組電腦一起工作,提供透明的企業級服務(支援 JNDI, EJB, JSP, HttpSession,組件差錯恢複等).他們故意定義得很模糊,因為他們對它的實現各不相同.一部分開發商在一組互相獨立的機器前端放置一個dispatcher,dispatcher接受使用者的請求,然後用HTTP redirect header將請求轉到叢集中一台特定的server上.另一部分開發商則實現了一個緊密整合在一起的機器聯合,每台機器能完全感知它周圍其它機器的存在,連同駐在它們之上的對象.
除了機器方面的整合,叢集還包含冗餘和出錯恢複:
Server Load Balancer器:進入叢集的單一的進入點,網站或application server的流量指標
網關路由器:內部網路的出口點
多層交換器:包過濾或幀過濾,確保每台機器僅收到和自己相關的資訊
防火牆:連接埠層級過濾,防止hacker進入叢集或內部網路
SAN (Storage Area Networking)控制器:把application servers, Web servers和databases串連到後端儲存介質,管理資料該寫到哪個硬碟;以及出錯備份