亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

Docker學習之搭建ActiveMQ消息服務的方法步驟

2024-09-01 13:55:35
字體:
來源:轉載
供稿:網友

前言

ActiveMQ 是Apache出品,最流行的,能力強勁的開源消息總線。ActiveMQ 是一個完全支持JMS1.1和J2EE 1.4規范的 JMS Provider實現,盡管JMS規范出臺已經是很久的事情了,但是JMS在當今的J2EE應用中間仍然扮演著特殊的地位。

在生產項目中,很多時候需要消息中間件來進行分布式系統間的通信。它具有低耦合、可靠投遞、廣播、流量控制、最終一致性等一系列功能。本篇主要介紹ActiveMQ 相關概念以及安裝說明,后面會著重介紹 SpringBoot 集成實現秒殺消息隊列。

概念

JMS消息模式

點對點或隊列模式

包含三個角色:消息隊列(Queue),發送者(Sender),接收者(Receiver)。每個消息都被發送到一個特定的隊列,接收者從隊列中獲取消息。隊列保留著消息,直到他們被消費或超時。

  • 每個消息只有一個消費者(Consumer),即一旦被消費,消息就不再在消息隊列中
  • 發送者和接收者之間在時間上沒有依賴性,也就是說當發送者發送了消息之后,不管接收者有沒有正在運行,它不會影響到消息被發送到隊列
  • 接收者在成功接收消息之后需向隊列應答成功

Pub/Sub 發布/訂閱模式

包含三個角色:主題(Topic),發布者(Publisher),訂閱者(Subscriber) 。多個發布者將消息發送到Topic,系統將這些消息傳遞給多個訂閱者。

  • 每個消息可以有多個消費者
  • 發布者和訂閱者之間有時間上的依賴性。針對某個主題(Topic)的訂閱者,它必須創建一個訂閱者之后,才能消費發布者的消息。
  • 為了消費消息,訂閱者必須保持運行的狀態。

為了緩和這樣嚴格的時間相關性,JMS允許訂閱者創建一個可持久化的訂閱。這樣,即使訂閱者沒有被激活(運行),它也能接收到發布者的消息。

如果希望發送的消息可以不被做任何處理、或者只被一個消息者處理、或者可以被多個消費者處理的話,那么可以采用Pub/Sub模型。

JMS消息基本組件

ConnectionFactory

創建Connection對象的工廠,針對兩種不同的jms消息模型,分別有QueueConnectionFactory和TopicConnectionFactory兩種。可以通過JNDI來查找ConnectionFactory對象。

Destination

Destination的意思是消息生產者的消息發送目標或者說消息消費者的消息來源。對于消息生產者來說,它的Destination是某個隊列(Queue)或某個主題(Topic);對于消息消費者來說,它的Destination也是某個隊列或主題(即消息來源)。

所以,Destination實際上就是兩種類型的對象:Queue、Topic可以通過JNDI來查找Destination。

Connection

Connection表示在客戶端和JMS系統之間建立的鏈接(對TCP/IP socket的包裝)。Connection可以產生一個或多個Session。跟ConnectionFactory一樣,Connection也有兩種類型:QueueConnection和TopicConnection。

Session

Session是操作消息的接口??梢酝ㄟ^session創建生產者、消費者、消息等。Session提供了事務的功能。當需要使用session發送/接收多個消息時,可以將這些發送/接收動作放到一個事務中。同樣,也分QueueSession和TopicSession。

消息的生產者

消息生產者由Session創建,并用于將消息發送到Destination。同樣,消息生產者分兩種類型:QueueSender和TopicPublisher??梢哉{用消息生產者的方法(send或publish方法)發送消息。

消息消費者

消息消費者由Session創建,用于接收被發送到Destination的消息。兩種類型:QueueReceiver和TopicSubscriber??煞謩e通過session的createReceiver(Queue)或createSubscriber(Topic)來創建。當然,也可以session的creatDurableSubscriber方法來創建持久化的訂閱者。

MessageListener

消息監聽器。如果注冊了消息監聽器,一旦消息到達,將自動調用監聽器的onMessage方法。EJB中的MDB(Message-Driven Bean)就是一種MessageListener。

Transport傳輸方式

ActiveMQ目前支持的Transport有:VM Transport、TCP Transport、NIO Transport、SSL Transport、Peer Transport、UDP Transport、Multicast Transport、HTTP and HTTPS Transport、WebSockets Transport、Failover Transport、Fanout Transport、Discovery Transport、ZeroConf Transport等。

  • VM Transport:允許客戶端和Broker直接在VM內部通信,采用的連接不是Socket連接,而是直接的方法調用,從而避免了網絡傳輸的開銷。應用場景也僅限于Broker和客戶端在同一JVM環境下。
  • TCP Transport:客戶端通過TCP Socket連接到遠程Broker。配置語法:
  • tcp://hostname:port?transportOptions
  • HTTP and HTTPS Transport:允許客戶端使用REST或者Ajax的方式進行連接。這意味著可以直接使用Javascript向ActiveMQ發送消息。
  • WebSockets Transport:允許客戶端通過HTML5標準的WebSockets方式連接到Broker。
  • Failover Transport:青龍系統MQ采用的就是這種連接方式。這種方式具備自動重新連接的機制,工作在其他Transport的上層,用于建立可靠的傳輸。允許配置任意多個的URI,該機制將會自動選擇其中的一個URI來嘗試連接。配置語法:
  • failover:(tcp://localhost:61616,tcp://localhost:61617,.....)?transportOptions
  • Fanout Transport:主要適用于生產消息發向多個代理。如果多個代理出現環路,可能造成消費者接收重復的消息。所以,使用該協議時,最好將消息發送給多個不相連接的代理。

 Persistence持久化存儲

AMQ Message Store

ActiveMQ 5.0 的缺省持久化存儲方式。

Kaha Persistence

這是一個專門針對消息持久化的解決方案。它對典型的消息使用模式進行了優化。

JDBC Persistence

目前支持的數據庫有:Apache Derby, Axion, DB2, HSQL, Informix, MaxDB, MySQL, Oracle, Postgresql, SQLServer, Sybase。

Disable Persistence

不應用持久化存儲。

集群方案(Master / Slave)

Pure Master Slave

  • 無單點故障;
  • 不需要依賴共享文件系統或是共享數據庫,使用 KahaDB的方式持久化存儲;
  • 一個Master只能帶一個Slave;
  • Master工作期間,會將消息狀況自動同步到Slave;
  • Master一旦崩潰,Slave自動接替其工作,已發送并尚未消費的消息繼續有效;
  • Slave接手后,必須停止Slave才能重啟先前的Master;

 Shared File System Master Slave

JDBC Master Slave

  • 配置上,不存在Master和Slave的區分,多個共享數據源的Broker構成JDBC Master Slave;
  • 首先搶到資源(數據庫鎖)的Broker成為Master,其他Broker定期嘗試搶占資源;
  • 一旦Master崩潰,其他Broker搶占資源,最終只有一臺搶到,立刻成為Master,之前的Master即便重啟成功,也只能作為Slave等待;

 安裝說明

這里使用Docker安裝,查詢Docker鏡像:

docker search activemq

下載Docker鏡像:

docker pull webcenter/activemq

創建&運行ActiveMQ容器:

docker run -d --name myactivemq -p 61617:61616 -p 8162:8161 webcenter/activemq

61616是 activemq 的容器使用端口(映射為61617),8161是 web 頁面管理端口(對外映射為8162)

查看創建的容器,如果存在說明安裝成功:

docker ps

查看WEB管理頁面:

瀏覽器輸入 http://ip :8162 點擊Manage ActiveMQ broker使用默認賬號/密碼:admin/admin進入查看。

Docker,ActiveMQ,消息服務

Docker,ActiveMQ,消息服務

配置訪問密碼

進入Docker容器:

docker exec -it myactivemq /bin/bash

控制臺界面設置用戶名和密碼:

# 位于根目錄 conf 目錄下vi jetty-realm.properties# 修改密碼# username: password [,rolename ...]admin: admin, admin

配置連接密碼

編輯activemq.xml文件,放置到 shutdownHooks 下方即可。

<!-- 添加訪問ActiveMQ的賬號密碼 --><plugins>  <simpleAuthenticationPlugin>    <users>      <authenticationUser username="${activemq.username}" password="${activemq.password}" groups="users,admins"/>    </users>  </simpleAuthenticationPlugin></plugins>

修改conf中credentials.properties文件進行密碼設置:

activemq.username=adminactivemq.password=123456guest.password=123456

注意事項

如果是云服務器,記得開放相關端口(61617/8160)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91视频国产精品| 日本午夜精品理论片a级appf发布| 久久成人在线视频| 北条麻妃在线一区二区| 亚洲黄页网在线观看| 国产精品旅馆在线| 亚洲视频电影图片偷拍一区| 91日本在线视频| 美女福利精品视频| 热99在线视频| 欧美黑人国产人伦爽爽爽| 91精品国产电影| 日韩一区av在线| 亚洲第一中文字幕在线观看| 国产97人人超碰caoprom| 久久久久久久久久国产精品| 欧美超级免费视 在线| 自拍偷拍亚洲欧美| 国产色综合天天综合网| 姬川优奈aav一区二区| 国产一区二区日韩| 国产一区二区三区久久精品| www.欧美视频| 久久久久成人网| 欧美日韩成人在线观看| 色噜噜狠狠色综合网图区| 欧美精品18videosex性欧美| 久久精品最新地址| 日韩在线www| 亚洲国产精品电影| 精品福利在线视频| 91久久久久久国产精品| 欧美激情精品久久久久久变态| 九九精品在线视频| 精品欧美一区二区三区| 国产精品自产拍在线观| 日韩av网站导航| 中文字幕日韩在线视频| 性色av一区二区三区| 中文字幕亚洲无线码a| 欧美资源在线观看| 国产一区二区三区在线播放免费观看| 久久久久久久激情视频| 亚洲激情在线观看视频免费| 91在线免费看网站| 久久免费少妇高潮久久精品99| 日韩欧美国产免费播放| 26uuu另类亚洲欧美日本一| 欧美一级片免费在线| 久久精品国产久精国产一老狼| 日韩欧美国产一区二区| 狠狠色香婷婷久久亚洲精品| 国产精品第一页在线| 欧美日韩成人在线播放| 亚洲精品不卡在线| 欧美日韩中文字幕在线| 97免费视频在线| 96国产粉嫩美女| yw.139尤物在线精品视频| 最近2019好看的中文字幕免费| 日韩精品视频中文在线观看| 91精品国产免费久久久久久| 精品夜色国产国偷在线| 久久婷婷国产麻豆91天堂| 亚洲第一页自拍| 91精品免费视频| 欧美日韩国产中字| 日韩精品在线影院| 日本三级韩国三级久久| 日韩精品极品在线观看| 亚洲国产精品成人一区二区| 欧美在线免费观看| 久久91亚洲精品中文字幕| 一区二区三区视频在线| 亚洲天堂免费在线| 精品视频www| 久热精品视频在线免费观看| 最新69国产成人精品视频免费| 国产精品日日做人人爱| 日韩大片免费观看视频播放| 亚洲久久久久久久久久久| 国产亚洲精品久久久久久777| 国产精品视频成人| 成人情趣片在线观看免费| 国产日韩在线看| 亚洲欧洲一区二区三区久久| 狠狠色狠狠色综合日日小说| 亚洲丁香婷深爱综合| 日韩av一区二区在线观看| 一本色道久久88亚洲综合88| 国产精品一区二区久久| 日韩欧美中文免费| 成人免费自拍视频| 日韩精品极品在线观看播放免费视频| 久久中文字幕国产| 久久人人爽人人爽人人片av高请| 91国在线精品国内播放| 日韩欧美国产高清91| 色噜噜狠狠狠综合曰曰曰| 国产亚洲精品综合一区91| 亚洲国产精品久久久| 国产精品三级久久久久久电影| 国产一区二区三区视频在线观看| 亚洲欧洲国产一区| 日本一欧美一欧美一亚洲视频| 欧美专区在线视频| 成人性生交大片免费看小说| 日韩欧美精品网址| 日本三级韩国三级久久| 色天天综合狠狠色| 成人激情视频免费在线| 欧美视频在线观看免费网址| 九九热99久久久国产盗摄| 欧美极品欧美精品欧美视频| 亚洲伊人成综合成人网| 中文字幕亚洲无线码a| 欧美日韩国产专区| 精品久久久久久久久中文字幕| 久久亚洲一区二区三区四区五区高| 国产精品r级在线| 成人情趣片在线观看免费| 欧美视频二区36p| 中文字幕久热精品视频在线| 免费不卡在线观看av| 777国产偷窥盗摄精品视频| 91美女片黄在线观| 亚洲美女视频网站| 亚洲国产一区自拍| 国产免费一区二区三区在线能观看| 国产精品永久免费| 国产成一区二区| 日韩精品丝袜在线| 欧美高清理论片| 91久久精品日日躁夜夜躁国产| 欧美大片网站在线观看| 精品福利视频导航| 久久91亚洲精品中文字幕奶水| 久久男人的天堂| 日韩有码视频在线| 亚洲人成电影网站色xx| 国产精品女人网站| 久久人人看视频| 久久久久久久久久久网站| 夜夜嗨av色综合久久久综合网| 欧美成人三级视频网站| 欧美亚洲另类制服自拍| 欧美黑人巨大精品一区二区| 国产精品成人v| 欧美精品videofree1080p| 国产丝袜一区视频在线观看| 精品中文字幕乱| 91极品视频在线| 亚洲精品久久久久久久久久久久| 国产一区二区三区视频| 亚洲国产精彩中文乱码av在线播放| 国产视频久久久久久久| 欧美日本国产在线| 国产一区二区三区在线看| 国产欧美日韩免费看aⅴ视频| 97国产精品人人爽人人做| 国产成人小视频在线观看| 精品亚洲夜色av98在线观看| 91po在线观看91精品国产性色| 国产高清视频一区三区|