Java JMS 極簡演示

banq發表於2021-06-23

這篇文章足夠清楚並解釋了 JMS 模式的主要思想。現在,Message Broker 幾乎是每個企業應用程式的必備部分。使用的原始碼位於此處
JMS 或 Java Messaging 服務是一種使用訊息(物件)進行非同步通訊的解決方案。最初,它是 JSR(Java EE 中使用的規範)的一部分。
假設我們有任何服務每秒只能處理 100 個請求。任何更高的負載都會堵塞服務或停止服務。
此類問題眾所周知,可以透過將 API 拆分為兩部分來輕鬆排序:
  • 第一部分建立一個任務並立即返回其 id。一旦系統有可用的工作人員,它將處理該任務。
  • API的第二部分由使用者不斷池化,直到完成任務並返回。

所以我們問題的關鍵是如何在 2 個 API 之間共享資訊?我們可能會使用資料庫或一些 Java 集合,但 JMS 提供了兩種方便的非同步解決方案。
在 Jms 中有兩種主要模式:佇列和主題。關鍵的區別在於在 主題Topic 中我們可以有很多訂閱者。這兩種結構都可以從許多生產者那裡接收資料。 
有許多已知的訊息代理,如 RabbitMq、Kafka 等。在我們的示例中,我們使用免費的開源Active MQ 代理。為了安裝它,請執行以下步驟:

<dependency>
  <groupId>org.apache.activemq</groupId>
  <artifactId>activemq-core</artifactId>
  <version>5.7.0</version>
</dependency>



 

相關文章