1. 程式人生 > >應用整合實戰系列:服務匯流排中的同步業務互動模式

應用整合實戰系列:服務匯流排中的同步業務互動模式

在使用服務匯流排進行整合時,同步業務互動模式是最常見,也是相對來說比較簡單的互動模式,通常使用一個同步互動的服務介面即可封裝完成。同步業務互動模式適用於系統之間一對一的互動,並且相互之間傳遞的報文比較小(建議報文大小在1MB以內)的實時業務互動場景(比如CRM接收到訂單,要立即交付給ERP進行處理),介面模式通常為Web Service、REST。

同步業務互動模式需要包含如下步驟:

  • ① 源業務系統將請求資訊傳送給服務匯流排,並等待匯流排應答
  • ② 服務匯流排將請求訊息處理後,轉發給目標業務系統,並等待目標系統應答
  • ③ 目標業務系統接收請求,經過處理後將響應資訊傳送給服務匯流排
  • ④ 服務匯流排將目標系統的響應訊息處理後,返回給源系統。

同步互動業務的異常處理:

  • 如果在整個互動過程中出現異常,服務匯流排也需要將異常資訊作為響應訊息,返回給源系統。
  • 源系統在接收到匯流排返回的異常資訊後,決定是否做重發處理。(源系統負責重發)
  • 在某些異常情況下(比如服務匯流排呼叫目標系統超時),目標系統可能已經接收到了請求,並進行了處理,因此如果源系統對請求做了重發操作,目標系統需要做去重處理。(目標系統負責去重)

歡迎關注我的微信公眾號


相關推薦

應用整合實戰系列服務匯流排同步業務互動模式

在使用服務匯流排進行整合時,同步業務互動模式是最常見,也是相對來說比較簡單的互動模式,通常使用一個同步互動的服務介面即可封裝完成。同步業務互動模式適用於系統之間一對一的互動,並且相互之間傳遞的報文比較小(建議報文大小在1MB以內)的實時業務互動場景(比如CRM接收到訂單,要

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

在應用整合專案中,經常會遇到多個整合應用之間的交易資料一致性的問題,雖然很多成熟的應用整合產品都會提供分散式事務和重試的功能,但是這些功能往往在實際的應用中作用不是很大。主要因為:1.大多數整合介面使用的是基於HTTP的傳輸協議(Web Service、REST等),而分散式事務通常只能支援諸如JDBC,EJ

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

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

應用整合實戰系列如何進行檔案交換

在進行應用整合專案的實施過程中,因為有一些遺留系統無法提供服務介面,或者交換資料量比較大(10MB以上)的原因,通常都會遇到進行檔案交換的需求。在之前的文章中,我們提到過,我們不建議通過服務匯流排傳遞比較大的報文,因此對於比較大的檔案的傳輸,我們需要藉助其他方式實現。 • 

機器學習實戰系列sklearn 模型儲存的兩種方法

一、 sklearn中提供了高效的模型持久化模組joblib,將模型儲存至硬碟。 from sklearn.externals import joblib #lr是一個LogisticRegression模型 joblib.dump(lr, 'lr.model') lr =

Android RxJava 實戰系列從磁碟 / 記憶體快取 獲取快取資料

前言 Rxjava,由於其基於事件流的鏈式呼叫、邏輯簡潔 & 使用簡單的特點,深受各大 Android開發者的歡迎。 RxJava如此受歡迎的原因,在於其提供了豐富 &

SpringCloud第二代實戰系列一文搞定Nacos實現服務註冊與發現

## 一、背景:SpringCloud 生態圈 * * * 在正式開始本篇文章之前我們先岔開來講一下SpringCloud的生態圈。 SpringCloud大家都比較熟悉了,它制定了分散式系統的標準規範,做了高度抽象和封裝,然後將業界公司比較成熟以及經得起實際考驗的框架整合起來。通過Spring Boot風格

架構的坑系列重構過程的過度設計

一件事 都是 。。 上層 實現 軟件 太行 事件 -m 架構的坑系列:重構過程中的過度設計 軟件架構 2016-06-03 08:47:02 發布 您的評價: 5.0 收藏 2收藏 這個系列是 坑 系列,

Spring實戰筆記後端的Spring

spring 數據庫 緩存 安全 一.使用對象-關系映射持久化數據 對象/關系映射(object-relational mapping,ORM)。 在持久層使用ORM工具可以節省術前行代碼和大量開發時間。 Spring對ORM框架的支持提供了與這些框架的集成點以及一些附加的服

Android RxJava 實戰系列優雅實現 網路請求巢狀回撥

轉自-----http://blog.csdn.net/carson_ho/article/details/78315696,請為大神打call 前言 Rxjava,由於其基於事件流的鏈式呼叫、邏輯簡潔 & 使用簡單的特點,深受各大 Android

《FlaskWeb開發基於Python的Web應用開發實戰第2版》英PDF+源代碼等4本書學習

開發實戰 leo 能夠 ffffff 第二版 http 資源 web開發 vpd 資源鏈接:https://pan.baidu.com/s/1p7CyLEodCy3e1u93jTVQLg《Flask Web開發 基於Python的Web應用開發實戰第2版》中英PDF+源代碼

Android 應用整合 LeanCloud 推送服務

推送服務是喚醒使用者繼續使用App的一種手段,今天花時間瞭解LeanCloud的推送服務,讀了下大概的文件,再結合Demo把推送服務整合到了西源坊的App中。羅列了一下開發的流程以及遇到的一些問題總結: 第一步:註冊賬號,建立應用 註冊賬號是普通的註冊流程,應用是對接App的一個Lean

C語言學習及應用筆記之七C語言的回撥函式及使用方式

  我們在使用C語言實現相對複雜的軟體開發時,經常會碰到使用回撥函式的問題。但是回撥函式的理解和使用卻不是一件簡單的事,在本篇我們根據我們個人的理解和應用經驗對回撥函式做簡要的分析。 1、什麼是回撥函式   既然談到了回撥函式,首先我們就要搞清楚什麼是回撥函式。在討論回撥函式之前,我們需要說明另一個概念,

Android成長實戰系列文章之Android的側滑欄

筆者熱衷於技術,也是一名在Android方向上滾爬的程式設計師,以下是我技術總結系列文章: 此係列文章屬於Android成長實戰系列,主要以專案中實際用到的東西分享出來,更注重於實戰程式設計能力的培養。   我們在日常的專案開發中,側滑欄基本上也算是常用的啦

親測好用系列命令列輸入 npm run *** 一次執行兩條命令

親測好用系列: 1.在當前專案中,執行以下依賴: npm install concurrently --save //concurrently:同時 2. 在package.json檔案的script標籤,嵌入一下程式碼: "start": "concurrently \"npm run d

整合ssm框架在maven分模組(Dao,Service,Controller)管理

整合spring + springmvc +mybatis Dao層:整合spring和mybatis需要的jar包: (1) mybatis的jar包 (2)spring的jar包

Spark入門實戰系列--6.SparkSQL()--深入瞭解SparkSQL執行計劃及調優

Amdahl定理,一個電腦科學界的經驗法則,因吉恩·阿姆達爾而得名。它代表了處理器平行運算之後效率提升的能力。平行計算中的加速比是用並行前的執行速度和並行後的執行速度之比來表示的,它表示了在並行化之後的效率提升情況。阿姆達爾定律是固定負載(計算總量不變時)時的量化標準。可用公式:來表示。式中分別表示問題規模的

Caffe實戰系列最簡潔的Caffe安裝教程(以ubuntu14.04為例)

網上充斥各種安裝方法,但是都很繁瑣,特別是安裝顯示卡驅動以及依賴項,對於初學者不是很方便。我覺得采用包管理工具更方便因此寫下本文。 (1)首先安裝ssh,這樣能夠使用winscp和putty或者secure crt進行遠端連線,方便在windows下載東西傳到linu

Caffe實戰系列實現自己Caffe網路層

#include "caffe/layers/image_scale_layer.hpp" #include "caffe/util/math_functions.hpp" #include <opencv2/opencv.hpp> namespace caffe { template <t

caffe 實戰系列proto檔案格式以及含義解析如何定義網路,如何設定網路引數(以AlexNet為例) 2016.3.30

(0)前言: 初學者往往不知道如何配置網路,或者面對這些引數卻無從下手不知道是什麼含義,下面我根據分析原始碼的經驗給出AlexNet的具體解釋,希望能夠給初學者一些定義網路上面的幫助此外還能夠知道如何找網路的引數,這些引數是如何設定的。 以AlexNet為例: 首先給出配