国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JBOSS的集群策略分析

2019-11-18 11:10:27
字體:
來源:轉載
供稿:網友

  序言

  在閱讀本文前,請確定您有以下基礎,否則您可能會是在浪費您的時間:

  1、 了解J2EE的一些基本概念

  2、 了解集群的基本概念

  3、 對JBOSS有一些大致的了解,可到http://www.jboss.org上下載它。

  JBOSS是一個開放源碼的、基于J2EE規范的應用服務器,它實現了大多數的J2EE規范,除此之外,它還提供了一些J2EE中所沒有涉及到的企業級功能,例如集群。本文主要描述JBOSS采取的集群策略,并重點介紹它的負載平衡與失效轉發機制。

  由于JBOSS是一個建立在J2EE規范上的應用服務器,因此在開始之前,我們還是簡單地介紹一下J2EE規范:J2EE是一套針對于企業級分布式應用的計算環境,它定義了動態WEB頁面功能(servlet和jsp),商業組件(EJB),異步消息傳輸機制(JMS),名稱和目錄定位服務(JNDI),數據庫訪問(JDBC),與子系統的連接器(JCA),安全服務等等。

  但美中不足的是J2EE并沒有定義一些企業級應用所必須的規范,例如集群,所以集群的實現只能由各廠商自行來設計實現。要實現基于J2EE規范的集群,我們通常要做如下考慮:集群的治理、負載平衡、失效轉發、服務端狀態的復制(例如JSP中的session),還要考慮同步和異步的問題(例如JMS服務就是異步方式)。假如要對這些內容做一個全面的闡述的話,估計可以寫成一本書了:) 因此本文主要探討的是:怎樣實現無狀態EJB的負載平衡與失效轉發機制?

  1999年,Marc Fleury建立了JBOSS開源項目,現在它有差不多100個活躍的開發者,30個核心開發者,每月高達35萬次的下載量,它當前的最高穩定版是3.2版,4.0版正在穩定之中,自從JBOSS3.0開始就加入了集群技術,幾乎能對任何J2EE規范進行集群治理,如JNDI、JSP中的session、EJB等等。更令人振奮的是,即將發行的JBOSS4.0將會對JMS也加入集群治理特色。

QQ病毒 騰訊QQ空間代碼專題 PPT教程專題 ADSL應用面面俱到 fireworks教程專題 計算機和網絡技術基礎知識 校園網專題 網吧技術專題
EJB集群在JBOSS中的實現

  下面言歸正傳,上圖大致描述了一個客戶端調用JBOSS中的EJB的過程。在JBOSS中,客戶端并不直接調用EJB對像,而采用了一個迂回的方法,更專業的說是一種設計模式――代理模式,真正與客戶端交互的是一個代理對像①,這個代理對像一般由客戶端通過JNDI技術來取得的。而具體的代理對像的實現就由各廠商自完成了,在JBOSS中,一個代理對像是一段精心設計的復雜代碼。

  但在客戶端看來,調用一個代理對像似乎就是在調用那個實際的EJB對像,雖然事實并非如此。在這里JBOSS耍了一個小把戲,代理對像雖然實現了與EJB對像相同的接口,但它實際上是把客戶端對它的調用轉發到了它在服務端的另一個伙伴身上②,同時,這個伙伴同樣定義了客戶端所要求的一些EJB接口,當這些接口被調用時③,出色的部分開始了,JBOSS把客戶端發過來的各種各樣不同的調用全部轉換成為一個統一格式的接口④(在本文中我們暫且稱客戶端發出的調用為應用級接口,而JBOSS生成的統一格式的接口稱為系統級接口)。當轉換完成后,所有的應用級接口變成了系統級接口⑤。為了能更清楚地闡述這個問題,我們假設客戶端向EJB對像發出如下調用:

myRemoteComponent.increaseSalary(100); 
//myRemoteComponent為代理對像

  這個調用實際上被JBOSS轉換成了如下的系統級調用:

PRoxyClientContainer.invoke(invocation);
//proxyClientContainer為代理對像在服務端的另一個伙伴

  但這個invocation到底是什么呢?實際上它是類Invocation的一個實例,這里有它的一個簡單的說明:

public class Invocation{
 Object[] args; //應用級接口中的一些參數
 Method method; //被調用的應用級接口
 Map payload; //JBOSS就是在這里采取的負載平衡策略的
 ……
}



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天峻县| 巍山| 米泉市| 古蔺县| 龙井市| 肇庆市| 鄂伦春自治旗| 汶上县| 贵州省| 台中市| 闽清县| 长寿区| 伊通| 健康| 敦煌市| 原平市| 和顺县| 平顶山市| 师宗县| 涡阳县| 颍上县| 防城港市| 吉隆县| 万山特区| 灵宝市| 九龙坡区| 永清县| 正定县| 大荔县| 沙雅县| 京山县| 崇信县| 石嘴山市| 霍林郭勒市| 镇宁| 金塔县| 绥宁县| 莒南县| 濮阳县| 陆川县| 策勒县|