ActiveMq的基礎介紹
一、JMS介紹
JMS是java的訊息服務,JMS的客戶端之間可以通過JMS服務進行非同步的訊息傳輸。
訊息模型
Point-to-Point(P2P) — 點對點
特點:
每個訊息只有一個消費者(Consumer)(即一旦被消費,訊息就不再在訊息佇列中)。
接收者在成功接收訊息之後需向佇列應答成功。
如果你希望傳送的每個訊息都應該被成功處理的話,那麼你需要P2P模式。
Publish/Subscribe(Pub/Sub)— 釋出訂閱
特點:
釋出者和訂閱者之間有時間上的依賴性。針對某個主題(Topic)的訂閱者,它必須建立一個訂閱者之後,才能消費釋出者的訊息,而且為了消費訊息,訂閱者必須保持執行的狀態。
為了緩和這樣嚴格的時間相關性,JMS允許訂閱者建立一個可持久化的訂閱。這樣,即使訂閱者沒有被啟用(執行),它也能接收到釋出者的訊息。
如果你希望傳送的訊息可以不被做任何處理、或者被一個訊息者處理、或者可以被多個消費者處理的話,那麼可以採用Pub/Sub模型
訊息的消費
在JMS中,訊息的產生和消費是非同步的。對於消費來說,JMS的訊息者可以通過兩種方式來消費訊息。
同步
訂閱者或接收者呼叫receive方法來接收訊息,receive方法在能夠接收到訊息之前(或超時之前)將一直阻塞
非同步
訂閱者或接收者可以註冊為一個訊息監聽器。當訊息到達之後,系統自動呼叫監聽器的onMessage方法。
二、activemq介紹
這種模式下,傳送和接收是非同步的,傳送者無需等待; 二者的生命週期未必相同: 傳送訊息的時候接收者不一定執行,接收訊息的時候傳送者也不一定執行;一對多通訊: 對於一個訊息可以有多個接收者。
功能介紹
解耦:呼叫者無需等待
非同步:解決了系統之間耦合呼叫的問題
削峰:抵禦洪峰流量,保護了主頁務
具體玩法:
①實現高可用、高效能、可伸縮,易用和安全的企業級面向訊息服務的系統
②非同步訊息的消費和處理
③控制訊息的消費順序
④可以和spring和springboot整合簡化程式碼
⑤配置叢集容錯的MQ叢集
埠介紹
activemq採用61616埠提供JMS服務
採用8161埠提供管理控制檯服務
相關文章
- ActiveMQ簡單介紹MQ
- JDBC的基礎介紹JDBC
- Pandas基礎介紹
- Elasticsearch 基礎介紹Elasticsearch
- 1、Oracle 基礎介紹Oracle
- MySQL 教程基礎介紹MySql
- Spring基礎只是—AOP的概念介紹Spring
- RocketMQ系列1:基礎介紹MQ
- OSPF介紹及基礎配置
- Django基礎教程之介紹Django
- 關於mysql基礎知識的介紹MySql
- Python介紹和基礎運用Python
- Jumpserver基礎運維-01介紹Server運維
- 02-ASP.Net(基礎介紹)ASP.NET
- Linux shell 指令碼基礎介紹Linux指令碼
- Android RxJava:基礎介紹與使用AndroidRxJava
- 【ES6基礎】const介紹
- 資料倉儲基礎介紹
- Sql介紹 與 Sql基礎查詢SQL
- 前端基礎之HTTP協議介紹前端HTTP協議
- 資料庫基礎知識介紹!資料庫
- 金融反欺詐-交易基礎介紹
- 比特幣入門一基礎介紹比特幣
- [java基礎]之JDK目錄介紹JavaJDK
- 【重溫基礎】17.WebAPI介紹WebAPI
- PEG.js 介紹與基礎使用JS
- 詳解javascript拖拽(一)基礎介紹JavaScript
- 前端系列文章-html之基礎介紹前端HTML
- BSN-DDC基礎網路詳解(一):基礎介紹
- Java基礎知識篇——Java基本介紹Java
- BSN-DDC基礎網路介紹&答疑
- 【Kubernetes系列】第2篇 基礎概念介紹
- python基礎學習-埠介紹說明Python
- 【重溫基礎】15.JS物件介紹JS物件
- 【重溫基礎】16.JSON物件介紹JSON物件
- 每日優鮮小程式基礎元件介紹元件
- 【筆記】Python基礎(二)運算子介紹筆記Python
- 圖神經網路的介紹(基礎,DeepWalk和GraphSage)神經網路