ESB和注冊服務管理的區別


一、概述

1、什么是ESB

就是企業數據總線的意思,他的核心功能就是兼容各種協議接口,可以將數據在各種協議之間進行流轉,並且可以針對數據格式進行編排轉換

代表性的項目有:JBOSS ESB,Mule,Camel 以及一些其他的esb項目

 

2、什么是服務注冊

就是將所有的服務接口(很多時候是hession協議的接口),注冊到一個中心的分布式服務集群上(你可以考慮成apache的zookeeper服務實現的效果)。各個業務系統直接訪問分布式服務查找需要調用的接口位置,進而調用

代表性開源項目有:阿里的dubbo,淘寶的HSF(現在不知道是否繼續開源了)

 

二、雙方特點

1、ESB

ESB一般采用集中式轉發請求,適合大量異構系統集成,並且壓力不大的情況

 

但集中式轉發也是有優勢的,比如調用方用http協議,提供方用rmi協議,轉發就可以轉換協議,對雙方都透明。另外,在總線上還可以執行流程引擎,做服務編排,比如A和B兩個服務經常一起調,就可以編排成服務C,而不用再單獨啟一個服務去做。還有,安全,流控,做起來也更方便。

支持groovy類型的腳本語言,在總線上可以給數據格式做轉換

2、服務注冊管理

采用的是分布式調用,注冊中心只記錄地址信息,然后直連調用,適合並發及壓力比較大的情況。

對於網站應用,大多是垂直業務,直接從數據庫拉數據展示。

 

三、應用場景

1、ESB

esb最常見的場景是,把系統里的集成邏輯,單拉出來, 放到esb容器里來部署,並跟應用系統適配。 這樣讓應用系統變得只有自己的業務邏輯,簡單、輕薄。

劣勢:在所有的服務上增加了一個總線作為溝通的渠道。對於較大的並發量會將瓶頸推到ESB總線上。很多時候ESB總線都采用MQ類的消息服務器來異步處理緩解壓力

2、服務注冊

淘寶和阿里的各個業務系統提供了很多的接口,這個時候需要統一管理提供個各子業務系統使用,讓各個子業務系統可以通過注冊中心很快找到對應的服務

劣勢:服務編排和協議轉換還是靠各個業務子系統了

 

四、綜述

1、兩類開源項目側重點不同,ESB側重任務的編排,性能問題可通過異構的方式來進行規避。無法支持特別大的並發

2、服務注冊側重服務的治理,將各個服務顆粒化,各個子業務系統在程序邏輯上完成業務的編排。但是比較實用較大的並發量,因為dubbo類的只是存放服務地址。有zookeeper類的分布式通訊框架,能保證單點的失敗不影響整個系統的業務調用,因為業務接口都是在各個提供服務的子系統中

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM