Photo by Sincerely Media on Unsplash
web
ESB:企業服務總線。spring
ESB的概念是SOA(面向服務體系架構)的伴生物,是對多類系統的服務調用者、提供者的解耦。微信
ESB能夠作服務暴露、服務接入、協議轉換(webservice、JMS、T3等)、數據格式轉換(JSON/XML)、路由等方面的支持。架構
我以前的公司是ESB打天下,不過當年表明先進結構的經驗如今也慢慢被微服務這種愈來愈火的理念與工具而替代。app
那ESB跟如今的所謂微服務如Dubbo、spring cloud又有什麼區別呢?負載均衡
微服務框架誕生的初衷更多的是一種點對點的模型,而ESB則是總線管理。框架
微服務框架基本上是面向同構的系統,如今多統一爲RESTful風格接口,而ESB則要考慮不一樣廠商(協議及數據格式轉換)所提供的服務整合。分佈式
ESB在互聯網行業漸漸被Dubbo、spring cloud代替,可是在傳統軟件行業仍是一直堅挺,並吸取了一些微服務的概念,在不斷演化。微服務
而如今微服務框架也在慢慢地變成ESB的模樣了。由於點對點這種方式太很差管理了。工具
所謂ESB到微服務,其實就是軟件開發中集中式系統向分佈式系統的一種轉變。
它們作的事情其實沒有根本上的區別,只有場景的不一樣。
在微服務框架設計實現以後,咱們還須要作服務治理。
例如路由管理、限流降級、服務監控、服務統計查詢、服務認證受權、線程管理、協議轉換、負載均衡等等等等。
其中部份內容是與ESB的功能極其類似。
咱們有時候把這部分工做也單獨創建一個系統,如API Gateway。
而這又是一種螺旋式的上升了。
果真是天下之事,合久必分,分久必合。
本文分享自微信公衆號 - 架構師之殤(ysistrue)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。