Java JMS 極簡演示
這篇文章足夠清楚並解釋了 JMS 模式的主要思想。現在,Message Broker 幾乎是每個企業應用程式的必備部分。使用的原始碼位於此處。
JMS 或 Java Messaging 服務是一種使用訊息(物件)進行非同步通訊的解決方案。最初,它是 JSR(Java EE 中使用的規範)的一部分。
假設我們有任何服務每秒只能處理 100 個請求。任何更高的負載都會堵塞服務或停止服務。
此類問題眾所周知,可以透過將 API 拆分為兩部分來輕鬆排序:
- 第一部分建立一個任務並立即返回其 id。一旦系統有可用的工作人員,它將處理該任務。
- API的第二部分由使用者不斷池化,直到完成任務並返回。
所以我們問題的關鍵是如何在 2 個 API 之間共享資訊?我們可能會使用資料庫或一些 Java 集合,但 JMS 提供了兩種方便的非同步解決方案。
在 Jms 中有兩種主要模式:佇列和主題。關鍵的區別在於在 主題Topic 中我們可以有很多訂閱者。這兩種結構都可以從許多生產者那裡接收資料。
有許多已知的訊息代理,如 RabbitMq、Kafka 等。在我們的示例中,我們使用免費的開源Active MQ 代理。為了安裝它,請執行以下步驟:
- 1.下載 ActiveMQ Classic。
- 2.安裝Java並將JAVA_HOME新增到PATH。
- 3、在apache-activemq-5.16.2\bin\win64下執行wrapper.exe。
- 4. 開啟http://localhost:8161/admin/index.jsp。
- 5. 透過按建立按鈕在選項卡佇列中建立佇列。
<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-core</artifactId> <version>5.7.0</version> </dependency> |
相關文章
- Java執行緒池ThreadPoolExecutor極簡教程Java執行緒thread
- JMS基本概念
- Python Selenium的簡單演示程式Python
- 動態代理及java演示Java
- Docker極簡入門:使用Docker執行Java程式DockerJava
- JMS監聽Oracle AQOracle
- jmeter之——jms壓測(activemq)JMeterMQ
- webservice和jms的區別Web
- SignalR簡版web聊天室(demo簡單演示篇)SignalRWeb
- dingo 極簡 TransformerGoORM
- Nginx 極簡教程Nginx
- Pgloader極簡教程
- SpringCloudStream極簡教程SpringGCCloud
- Rust極簡教程Rust
- Nacos極簡教程
- JMS訊息服務介紹
- 簡單演示Excel中VBA程式碼的使用Excel
- Spring-1-AOP概念簡述-程式碼演示Spring
- 阿里DataX極簡教程阿里
- SpringBoot極簡整合ShiroSpring Boot
- Elasticsearch 極簡入門Elasticsearch
- 極簡Kotlin-For-Android(一)KotlinAndroid
- 一個極簡的RePluginPlugin
- Rust-Sqlx極簡教程RustSQL
- AI 繪畫極簡教程AI
- Flutter 極簡 App 程式碼簡單解讀FlutterAPP
- JMS和AMQP有什麼區別嗎MQ
- 用PPT製作一個簡易的演示動畫動畫
- 詳解OpenCV For Java環境搭建與功能演示OpenCVJava
- 三個例項演示 Java Thread Dump 日誌分析Javathread
- Virtual Dom && Diff原理,極簡版
- Mac極簡軟體清單Mac
- Shell程式設計——極簡教程程式設計
- spring boot MySQL極簡封裝Spring BootMySql封裝
- git restore極簡使用記錄GitREST
- dockerfile-maven-plugin極簡教程DockerMavenPlugin
- Dart 語言極簡入門Dart
- 讀書《極簡生活法則》