小编典典

JMS/消息队列的真实使用?

all

我只是在阅读有关 JMS 和 Apache ActiveMQ 的信息。并且想知道这里的人们使用 JMS 或类似的消息队列技术在现实世界中的用途是什么?


阅读 102

收藏
2022-07-30

共1个答案

小编典典

JMS(ActiveMQ 是一种 JMS
代理实现)可以用作允许异步请求处理的机制。您可能希望这样做,因为请求需要很长时间才能完成,或者因为多方可能对实际请求感兴趣。使用它的另一个原因是允许多个客户端(可能用不同的语言编写)通过
JMS 访问信息。ActiveMQ 就是一个很好的例子,因为您可以使用 STOMP 协议来允许从 C#/Java/Ruby 客户端进行访问。

一个真实的例子是用于为特定客户下订单的 Web 应用程序。作为下订单(并将其存储在数据库中)的一部分,您可能希望执行一些额外的任务:

  • 将订单存储在某种第三方后端系统(例如 SAP)中
  • 向客户发送电子邮件,通知他们已下订单

为此,您的应用程序代码会将消息发布到包含订单 ID 的 JMS 队列中。侦听队列的应用程序的一部分可能会通过获取 orderId
来响应事件,在数据库中查找订单,然后将该订单发送给另一个第三方系统。您的应用程序的另一部分可能负责获取 orderId 并向客户发送确认电子邮件。

2022-07-30