请求响应模型/同步/异步/事件驱动

时间:2016-04-05 14:12:11

标签: spring rest architecture

我要求我必须充当中间件系统,上游系统打电话给他,我将用一些额外的插件打电话给第三方系统。一旦我向第三方系统提交请求,他们就会给我一个id作为响应。我将不得不使用此id进行另一次调用以获取我的请求的状态,一旦我的请求状态改变为完成,我将不得不再调用一个服务来获取我的请求的详细信息。一旦我得到响应只有这时我将不得不添加一些额外的信息,并将细节发送回上游系统。

对于这种情况,哪种模式会更好  请求/响应(同步)   异步调用   事件驱动的机制

我的系统和第三方系统之间的流程是固定的,该部分无法更改。 上游系统将通过ESB调用我的服务。 我打算使用RestFul,请告诉我你的相关信息。

1 个答案:

答案 0 :(得分:1)

您可以使用与中间件系统相同的方案,就像使用第三方系统一样:

  

一旦我向第三方系统提交请求,他们就会给我一个身份证明   反应。我将不得不使用此id进行另一个调用来获取   一旦我的请求状态变为,我的请求的状态   说完了

  • 因此,您的中间件应该在每个Upstream请求上返回Middleware RequestId。
  • 上游可以检查此中间件RequestId的请求状态
  • 当请求状态更改为done上游时,可以获得响应。

我创建此序列图来演示UpstreamMiddleWareThirdparty系统的这种简单交互:

enter image description here