Spring 请求响应模型/同步/异步/事件驱动
我有一个要求,我将不得不作为中间件系统,上游系统打电话给他,我将打电话给第三方系统与一些额外的插件。一旦我向第三方系统提交请求,他们就会给我一个id作为响应。我将不得不使用此id进行另一次调用以获取我的请求状态,一旦我的请求状态更改为“完成”,我将不得不调用另一个服务以获取我的请求的详细信息。一旦我仅获得响应,我将不得不向其添加一些额外信息,并将详细信息发送回上游系统 对于这种情况,哪种模型更好 请求/响应(同步) 异步调用 事件驱动机制 我的系统和第三方系统之间的流程是固定的,不能更改部分。 上游系统将通过ESB调用我的服务。Spring 请求响应模型/同步/异步/事件驱动,spring,rest,architecture,Spring,Rest,Architecture,我有一个要求,我将不得不作为中间件系统,上游系统打电话给他,我将打电话给第三方系统与一些额外的插件。一旦我向第三方系统提交请求,他们就会给我一个id作为响应。我将不得不使用此id进行另一次调用以获取我的请求状态,一旦我的请求状态更改为“完成”,我将不得不调用另一个服务以获取我的请求的详细信息。一旦我仅获得响应,我将不得不向其添加一些额外信息,并将详细信息发送回上游系统 对于这种情况,哪种模型更好 请求/响应(同步) 异步调用 事件驱动机制 我的系统和第三方系统之间的流程是固定的,不能更改部分。
我计划使用RestFul,请告诉我您对此的看法。您只需使用与使用第三方系统相同的中间件系统方案即可: 一旦我向第三方系统提交请求,他们会给我一个id作为 回应。我必须用这个id再打一个电话才能拿到 我的请求状态,一旦我的请求状态更改为 说完
- 因此,中间件应该在每个上游请求上返回中间件RequestId李>
- 上游可以检查此中间件RequestId的请求状态
- 当请求状态更改为
时,上游可以得到响应done
上游
、中间件
和第三方
系统之间的简单交互:
我应该使用哪种型号的rquest/response或async Calls您应该同时使用这两种:)
上游将向您的中间件发送请求
,但中间件
无法同步处理此请求(由于第三方
系统行为),因此,它会将请求id返回到上游
,并且上游
稍后可以询问您的中间件
关于请求状态以及完成后得到正确响应的情况。它是异步请求/响应模型