天天看點

如何建構企業級的ESB?

作者:知乎使用者

連結:https://www.zhihu.com/question/20146512/answer/33354578

來源:知乎

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

1、服務總線(ESB)适合傳統企業系統應用下系統間的小封包/短消息同步服務互動場景;

服務架構(Dubbo)适合網際網路系統應用下系統間的小封包/短消息同步服務互動場景;

如果服務過少,不打算進行服務治理的話,其實無需ESB/Dubbo,直接選擇WS即可。

2、MQ适合系統間的可靠小封包/短消息異步服務互動适合場景。如果允許小封包/短消息丢失的話,可以直接選擇WS。

3、以檔案方式直接傳輸适合系統間的大封包/長消息服務互動場景。

系統間服務互動的企業級ESB方案,分兩個場景來說。

網際網路系統應用場景,适合選擇服務架構方案

通過接口分解系統耦合性,不同子系統通過相同的接口描述進行服務啟用

服務架構是一個點對點模型

服務架構面向同構系統

實作技術舉例:開源Dubbo

傳統企業系統應用場景,适合選擇服務總線方案

同服務架構方案一樣,均是通過接口分解系統耦合性,不同子系統通過相同的接口描述進行服務啟用

服務總線是一個總線式的模型

服務總線面向同構、異構系統

實作技術舉例:開源ESB Mule,商業ESB Oracle OSB等

這裡以一個傳統企業系統應用,融資租賃系統為例說明:

融資租賃系統同四個子系統組成:貸前銷售,貸前信審,合同管理,貸後管理。

ESB負責子系統之間的流程服務互動, WorkFlow負責子系統内部的流程流轉。

<noscript>&amp;lt;img src="https://pic2.zhimg.com/e6ad9a353e1958c89a11238dfd3b6d15_b.jpg" data-rawwidth="727" data-rawheight="623" class="origin_image zh-lightbox-thumb" width="727" data-original="https://pic2.zhimg.com/e6ad9a353e1958c89a11238dfd3b6d15_r.jpg"&amp;gt;流程說明:</noscript>

如何建構企業級的ESB?

流程說明:

1、貸前銷售子系統的 業務申請作為第一個節點,會啟動貸前銷售子流程;

2、到 信用稽核節點時, 通過ESB向貸前信審子系統的流程服務發消息,觸發流程從 調查報告節點向下執行,審批通過後,回到貸前銷售的 簽署合同節點;

3、類似1~2的流程,直到所有流程結束