新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 談ESB服務總線改進

談ESB服務總線改進

作者: 時間:2016-12-15 來源:網絡 收藏

對于消息中間件部分進行單獨剝離,即講服務設計和ESB協(xié)議轉換和適配部分同消息中間件分離,對于消息中間件部分初步考慮采用RabbitMQ或zeroMQ來實現,其中zeroMQ由于用c語言實現,相當來說更加輕量和高性能。但是RabbitMQ本身更適合做一個企業(yè)級的消息系統(tǒng),其在集群,持久化,高可用性和分布式可擴展性方面往往更加有優(yōu)勢。相當來說RabbitMQ往往是更好的選擇。

本文引用地址:http://www.2s4d.com/article/201612/330512.htm

對于消息中間件的使用,主要需要實現幾個方面的內容,一個是傳統(tǒng)MQ的基本功能,即基于消息的異步通訊機制,其次是實現消息發(fā)布訂閱模式,最后是一個重要功能,即用做ESB內部的消息存儲和異步日志記錄,通過MQ的異步功能對于日志進行異步持久化以實現ESB層本身的高性能,而不會影響到服務本身調用性能。

對于數據庫可以看到,主要是包括兩個方面的內容,其一是對于服務元數據管理部分的內容,其二是對于服務運行實例的持久化內容。其中可以看到對于服務運行實例完全可以采用獨立的分布式數據庫來存儲,由于這種實例運行記錄本身就類似key-value的存儲模式,因此可以考慮采用mongoDB或redis庫來實現這部分數據的存儲,個人對于這塊傾向于選擇redis庫來實現即可。

對于服務總線的管控和治理平臺建議是和ESB服務總線進行分離,管控平臺部分的核心功能主要還是服務元數據管理,服務目錄庫,服務運行監(jiān)控分析,服務安全和訪問控制,服務全生命周期管理等基礎內容。管控平臺數據庫可以用結構化的數據庫,數據庫本身不會有太大的性能瓶頸。

對于服務設計部份可以引入可視化的服務設計和服務組合,其中核心主要是實現適配器,數據映射轉換,日志和異常管理,安全管理,外部接口調用,路由,消息發(fā)布訂閱等基礎設計能力。對于適配器是一個核心基礎功能組件,主要需要實現對數據庫,SOAP和rest WebService的接入,HTTP服務的接入,JMS消息的適配,FTP文件的適配等基礎功能。同時在適配處理過程中實現大數據和大文件傳送組件的集成。

進一步加強服務監(jiān)控和預警功能,包括對詳細SLA服務等級和策略的訂閱,對預警策略的定義,能夠實現準實時的服務監(jiān)控和預警。同時在服務視圖靜態(tài)展現上增加服務預警和調用異常的動態(tài)實時展示,以幫助管理員更加實時的發(fā)現服務運行中的異常。同時增加對線集群的管理功能,其中包括對集群各個節(jié)點的監(jiān)控,對服務部署實現集群化的動態(tài)部署,包括服務的熱部署能力支持。以提升ESB平臺本身的高可用性和可伸縮性。

可以參考Dubbo服務框架的實現模式,在服務目錄庫中引入兩種服務接入方式,即一種是由ESB來實現服務代理,同時實現服務數據傳輸映射和運行日志審計;對于其它大數據調用服務為了提升技能,則服務目錄中心僅僅是返回可使用的服務調用地址,由服務消費方和提供方進行直接的消息傳輸通訊。通過兩種方式的結合可以更好的兼顧ESB總線的常規(guī)能力同時又提升服務總線的性能。

可以考慮通過本地SDK開發(fā)包的引入,進一步來簡化服務提供和消費端的代碼開發(fā),該模式下雖然整個服務開發(fā)和消費過程更加簡單,但是本身對業(yè)務系統(tǒng)有一定的侵入性,因此也需要慎重采用。

進一步加強對服務流量控制功能的設計和開發(fā),即根據SLA服務策略可以更加詳細的定義服務流量控制策略,包括服務在單位時間的調用次數,服務傳送的數據量,同時也包括對于任何一次調用服務本身的數據量控制和預警等,通過服務流量控制一方面是減輕下游接收系統(tǒng)的系統(tǒng)壓力,一方面也可以更好的屏蔽和發(fā)現各種非法調用。

可以考慮進一步加強對服務運行日志記錄的分析,通過服務運行數據的采集和轉換,結合前期總體的業(yè)務系統(tǒng)集成架構藍圖規(guī)劃。可以通過服務消費記錄更好的歡迎業(yè)務系統(tǒng)間業(yè)務系統(tǒng)的情況,這個一方面可以利用來實現業(yè)務單據的跨系統(tǒng)傳遞監(jiān)控,同時也可以更好的用來實現后續(xù)規(guī)劃的端到端流程監(jiān)控上。



關鍵詞: ESB服務總

評論


技術專區(qū)

關閉