應用整合實戰系列 服務匯流排中的服務補償機制

2021-07-26 09:12:15 字數 817 閱讀 5415

在應用整合專案中,經常會遇到多個整合應用之間的交易資料一致性的問題,雖然很多成熟的應用整合產品都會提供分布式事務和重試的功能,但是這些功能往往在實際的應用中作用不是很大。主要因為:1.大多數整合介面使用的是基於http的傳輸協議(web service、rest等),而分布式事務通常只能支援諸如jdbc,ejb,jms之類的協議;2、大多數整合服務之間的呼叫異常或是因為網路原因、或是因為資料原因都不可能很快自動恢復,而整合產品所提供的重試一般都是在短時間內的重試,比如30秒重試一次,重試3次等,在很多情況下無法滿足需要。

為了保證整合專案實際應用中的交易資料一致性,我們需要在專案實施的過程中構建自己的服務補償機制。根據需求的不同,服務補償整合有如下兩種:

對業務一致性要求高的整合業務,如果其採用的整合介面不支援分布式事務(基於http的介面),需要採用實時沖正進行服務的補償

對業務一致性要求不是很高(主要是時效性)的業務場景,可採用補償流程定時重發的方式進行服務補償

應用整合實戰系列 什麼時候需慎重使用服務匯流排

目前的應用整合專案基本上都會基於服務匯流排產品 或商用或開源 進行實施的,有些使用者或許是之前深受點對點硬編碼整合之害,在通過服務匯流排 soa實施整合專案時,會要求所有的系統之間互動全部通過服務匯流排實現。當專案真正上線執行時,卻會發現各種各樣的問題,嚴重的甚至出現整合伺服器宕機,嚴重影響業務的執...

技術文件 刪除oracle服務項中不用的服務

oracle服務項中有不用的服務,應該如何處理呢?下面就為您介紹刪除oracle服務項中不用的服務的實現方法,希望對您學習oracle服務項方面能有所幫助。管理 oracle服務項裡面刪不掉的服務可以直接進登錄檔刪除 hkey local machinesystemcurrentcontrolset...

基於SCA與Web服務應用整合的研究與實現小結

最近幾天看了一篇關於基於sca與web服務的應用整合的 在此做一下小結。企業應用整合 是指對企業中完成各種不同業務功能的應用進行整合,使得各應用能夠實現資訊的共享與互動。傳統的企業應用整合,如資料級整合 應用介面級整合 業務邏輯級整合等都屬於緊耦合的整合方式,靈活性和擴充套件性比較差,而且也不利於業...