溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ESB 工作總結(jié)

發(fā)布時(shí)間:2020-04-06 11:37:23 來源:網(wǎng)絡(luò) 閱讀:543 作者:zhangyancai 欄目:軟件技術(shù)

   ESB全稱為Enterprise Service Bus,即企業(yè)服務(wù)總線。它是傳統(tǒng)中間件技術(shù)與XML、Web服務(wù)等技術(shù)結(jié)合的產(chǎn)物。ESB提供了網(wǎng)絡(luò)中最基本的連接中樞,是構(gòu)筑企業(yè)神經(jīng)系統(tǒng)的必要元素。ESB的出現(xiàn)改變了傳統(tǒng)的軟件結(jié)構(gòu),可以提供比傳統(tǒng)中間件產(chǎn)品更為廉價(jià)的解決方案,同時(shí)它還可以消除不同應(yīng)用之間的技術(shù)差異,讓不同的應(yīng)用服務(wù)器協(xié)調(diào)運(yùn)作,實(shí)現(xiàn)了不同服務(wù)之間的通信與整合。從功能上看,ESB提供了事件驅(qū)動和文檔導(dǎo)向的處理模式,以及分布式的運(yùn)行管理機(jī)制,它支持基于內(nèi)容的路由和過濾,具備了復(fù)雜數(shù)據(jù)的傳輸能力,并可以提供一系列的標(biāo)準(zhǔn)接口。

一、ESB的五個基本功能: 

    1)服務(wù)的MetaData管理:在總線范疇內(nèi)對服務(wù)的注冊命名及尋址進(jìn)行管理。
 

  2)傳輸服務(wù):確保通過企業(yè)總線互連的業(yè)務(wù)流程間的消息的正確交付,還包括基于內(nèi)容的路由功能。
 

  3)中介:提供位置透明的路由和定位服務(wù);提供多種消息傳遞形式;支持廣泛使用的傳輸協(xié)議。
 

  4)多服務(wù)集成方式: 如JCA,Web服務(wù),Messaging ,Adaptor等.
 

  5)服務(wù)和事件管理支持: 調(diào)用服務(wù)的記錄、測量和監(jiān)控?cái)?shù)據(jù);提供事件檢測、觸發(fā)和分布功能;

二、ESB 原理

Channels — Messaging應(yīng)用通過一個Message Channel傳送數(shù)據(jù),一個senderreceiver的虛擬管道。一個新安裝的消息系統(tǒng)默認(rèn)不包含任何channel;你必須知道你的應(yīng)用需要怎樣通訊,然后才能建立channel來完成它。

Messages — Message是在channel上傳輸?shù)牟豢煞指畹陌?。因此,為了傳輸?shù)據(jù),應(yīng)用必須將數(shù)據(jù)打包成一個或多個packets,將每個packet包裝成一個message,然后將其傳輸?shù)揭粋€channel。同樣的,一個receiver應(yīng)用在接受到message后必須從message中提取出數(shù)據(jù)才能使用。Message系統(tǒng)應(yīng)該能重復(fù)的傳輸message,直到它成功為止。

Pipes and Filters 最簡單的情況下,message系統(tǒng)將一個消息直接從sender計(jì)算機(jī)傳送到receiver計(jì)算機(jī)。然而,通常在消息從sender中發(fā)出后,receiver接受到之前,有一些動作需要對message執(zhí)行。舉例來說,message也許需要驗(yàn)證或者轉(zhuǎn)換。Pipes and Filters架構(gòu)使用channel將多個處理步驟連接起來。


Routing 在一個大型的、擁有許多不同的應(yīng)用和channel連接的企業(yè)應(yīng)用中,一個message可能需要穿過多個channel才能到達(dá)最終目的地。Message的路由如此復(fù)雜以至于最初的發(fā)送者無法知道那些channel能將message傳送給最終的receiver。因此,最初的發(fā)送者將message發(fā)送給一個Message Router,一個以Pipes and Filters架構(gòu)中的filter形式存在的應(yīng)用組件。Router將決定如何將message發(fā)送到最終receiver或者至少是下一個Router。 

Transformation 不同的應(yīng)用的數(shù)據(jù)格式可能不同。為了調(diào)節(jié)senderreceiver之間的數(shù)據(jù)格式不同的問題,message必須經(jīng)過一個中介的filter,一個Message Translator,它將message從一個格式轉(zhuǎn)換成另外一個格式,或轉(zhuǎn)換成一個公共的格式。

Endpoints 大多數(shù)的應(yīng)用程序沒有內(nèi)建的能力來同一個message系統(tǒng)交互。因此他們必須包含一個中間層,它知道應(yīng)用系統(tǒng)如何工作,也知道message系統(tǒng)如何工作,并橋接兩個系統(tǒng)。這個系統(tǒng)是一組并列的Message Endpoints,它能夠使得應(yīng)用發(fā)送和接受message。

System manager - 作為一個大型的消息集成系統(tǒng),其面向消息的、異步、低耦合的本質(zhì)使得系統(tǒng)更加難以調(diào)試,運(yùn)行期的狀態(tài)也難以跟蹤,所以,我們必須有強(qiáng)有力的手段進(jìn)行系統(tǒng)的運(yùn)行期管理和監(jiān)控,同時(shí)最好能夠在運(yùn)行進(jìn)行動態(tài)更新,以保障系統(tǒng)的強(qiáng)壯性。

企業(yè)應(yīng)用集成是一個巨大而復(fù)雜的系統(tǒng),作為其基礎(chǔ)件ESB系統(tǒng),必須能夠提供對其完全的支撐以及足夠強(qiáng)壯的系統(tǒng),這正是ESB系統(tǒng)建設(shè)的難度所在。

 

三、以貴公司集成系統(tǒng)為例,配置ESB服務(wù)

1、啟動命令:(用命令行啟)
Linux / Unix: . synapse.sh -sample 0
Windows: synapse.bat -sample 0
(sample 0代表synapse-2.1.0\repository\conf\sample中的XML配置,作用不同,其中synapse_sample_58.xml代表負(fù)載均衡
2、修改ESB啟動端口
synapse-2.1.0\repository\conf\axis2.xml中查找
transportReceiver name="http" class="org.apache.synapse.transport.nhttp.HttpCoreNIOListener"> <parameter

name="port">8280</parameter> <parameter name="non-blocking">true</parameter>,修改其中的PORT值
3、修改負(fù)載均衡對應(yīng)的應(yīng)用地址:
synapse-2.1.0\repository\conf\sample\synapse_sample_58.xml中

  <loadbalance failover="true">
                        <member hostName="127.0.0.1" httpPort="7000"/>
        <member hostName="127.0.0.1" httpPort="9001"/>
       
                    </loadbalance>
每一個MEMBER代表一個地址,需要幾個應(yīng)用進(jìn)行負(fù)載,就添加幾個MEMBER地址

4. 如果運(yùn)行本系統(tǒng)修改:<messageFormatter contentType="text/xml"
                         class="org.apache.synapse.format.hessian.HessianMessageFormatter"/>

5.如果啟動多個服務(wù)時(shí)需要改:# Default is to autodetect free port starting at 1099; change it to meet your deployment requirements!
synapse.jmx.jndiPort=1199

6、命令行下啟動服務(wù)
   >d:  回車 --切換到d盤
   d...>dir  --顯示所有文件
   d...>cd 按tab鍵選擇所要文件 回車 --切換到所選文件夾下
   d...>cd 按tab鍵選擇所要文件 回車 --進(jìn)入所選文件夾下
   d...>cd bin
   d...>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI