1

JBossESB 程序员手册中,它被提及为:

“JBossESB 中客户端和服务之间的所有交互都是通过消息交换发生的。为了鼓励松耦合,我们推荐一种基于单向消息的消息交换模式,即请求和响应是独立的消息,在必要时由基础设施或应用程序关联。”</p>

但是,如果请求和响应是单向 MEP 的独立消息,那么它与请求响应 MEP 有什么区别?

使用它们的实际优势是什么?

4

1 回答 1

2

请求-响应

  • AKA 同步交互,调用返回。
  • A 向 B 发送请求并等待。
  • B 将处理请求并发送响应。
  • A得到响应并继续前进。

单程

  • AKA 异步交互,即发即弃。
  • A 向 B 发送请求/消息,但不等待响应。它继续做其他事情。
  • B 将处理请求/消息并完成。

异步同步

  • 您引用的段落暗示了这种模式......
  • 如果 A-to-B 使用单向,如果处理请求/消息的结果需要传回 A 怎么办?
  • 一种选择是使用异步同步模式:
  • A 向 B 发送单向请求/消息。该消息通常包含相关标识符。A继续做其他事情。
  • B 将处理请求/消息。
  • 处理完成后,B(或在处理中调用的某些其他组件)将向 A 发送一条独立的单向消息,其中包含处理结果。
  • 这第二条消息可能在原始 A 到 B 请求/消息发送后的毫秒、分钟、小时后出现。但它包含相同的相关标识符。
  • 第二条消息返回到 A 或其他一些在原始消息中预先配置或指示的回调端点或队列。
  • Hohpe 和 Woolf 将这种模式称为“请求-回复”。但我认为这个名字有点令人困惑(太接近“请求-响应”)。
于 2019-07-26T11:38:20.053 回答