<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 談ESB服務(wù)總線(xiàn)改進(jìn)

談ESB服務(wù)總線(xiàn)改進(jìn)

作者: 時(shí)間:2016-12-15 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/201612/330512.htm

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

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

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

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

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

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

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

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

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



關(guān)鍵詞: ESB服務(wù)總

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>