一、RabbitMQ安裝教程
RabbitMQ是一個開源的消息代理(message broker)軟件,它跑在服務器上,通過消息隊列來實現應用程序之間的解耦。下面是RabbitMQ的安裝教程。
1.安裝Erlang
在安裝RabbitMQ之前,需要先安裝Erlang,官網下載地址為 https://www.erlang-solutions.com/resources/download.html 。
在下載頁面,選擇相應的操作系統版本,如Windows系統的安裝包:otp_win64_23.2.exe,雙擊安裝即可。
2.安裝RabbitMQ
官方網站下載地址為https://www.rabbitmq.com/download.html 。在下載頁面中,選擇適合自己操作系統的版本進行下載。在Windows系統中,下載 rabbitmq-server-windows-x86-3.8.9 。
安裝時要注意要選擇自己的操作系統,以及64位或32位版本,直接雙擊安裝包,一路“下一步”即可。
3.啟動RabbitMQ
RabbitMQ 的安裝完成後,就可以啟動RabbitMQ了。在Windows系統中,點擊“開始菜單” -> “RabbitMQ” -> “RabbitMQ Command Prompt”即可啟動。
4.通過Web管理界面訪問RabbitMQ
可以打開瀏覽器,輸入 http://localhost:15672/ 訪問RabbitMQ的 Web管理界面(默認端口號為15672),用戶名和密碼默認均為guest。
二、RabbitMQ教程
1.消息隊列
消息隊列是一種跨進程、跨平台的通訊機制,可以讓一個應用程序向另一個應用程序或多個應用程序發送消息。這樣就可以把系統拆分成多個獨立的組件,各組件之間通訊通過消息隊列來完成。
2.消息模型
RabbitMQ使用了消息模型,這個消息模型稱為AMQP(Advanced Message Queuing Protocol,高級消息隊列協議)。AMQP中,有4個概念:Exchange、Queue、Binding和Routingkey。
3.消息發送
RabbitMQ發送消息是通過將消息發送給一個Exchange(交換器)來實現轉發的。而Exchange則根據Binding(綁定)將消息路由到對應的Queue(隊列)中。使用默認的Exchange和Queue,我們可以通過命令行發送消息。
//發送消息 $ rabbitmqadmin publish exchange=amq.default routing_key=my_queue payload="hello, world" //接收消息 $ rabbitmqadmin get queue=my_queue
三、RabbitMQ安裝詳細教程
1.為什麼要安裝RabbitMQ?
RabbitMQ是一種優秀的消息代理系統,適用於分布式系統架構之間的通信。它可以幫助系統之間實現解耦,保證數據的可靠性。其應用場景如下:
- 異步任務處理
- 跨服務協作
- 流量控制
- 分布式事務
2.準備工作
在安裝RabbitMQ之前,需要先安裝Erlang,請先按照上面的步驟進行安裝。
3.安裝RabbitMQ
訪問RabbitMQ的官方網站 https://www.rabbitmq.com/download.html ,根據自己的操作系統進行下載。
在Windows系統中,下載 rabbitmq-server-windows-x86-3.8.9.exe 。
下載完成後,雙擊安裝包進行安裝。在過程中,按默認選項一路“下一步”即可。
4.配置環境變量
在Windows系統中,默認情況下是沒有將RabbitMQ的安裝路徑添加到環境變量中的。因此,我們需要在環境變量中手動添加RabbitMQ的安裝路徑。
首先找到RabbitMQ的安裝路徑,如下所示:
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9
然後打開“開始菜單” -> “計算機”,右鍵“屬性”,在“高級系統設置”中選擇“環境變量”,在用戶變量中找到“Path”選項,添加RabbitMQ的安裝路徑。
添加完成後,按下“確定”即可。
5.啟動RabbitMQ
打開命令行窗口,輸入下面的命令以啟動RabbitMQ。
C:\>rabbitmq-server -detached
上面的命令會以守護進程的方式啟動RabbitMQ。
6.訪問RabbitMQ Web管理界面
通過瀏覽器來訪問 RabbitMQ 的 Web管理界面。
打開瀏覽器,輸入http://localhost:15672/ ,進入管理界面。用戶名和密碼默認為guest。
7.停止和卸載RabbitMQ
停止RabbitMQ可以通過以下命令來實現。
C:\>rabbitmqctl stop
卸載RabbitMQ可以直接從計算機中刪除rabbitmq_server-3.8.9文件夾即可。
四、RabbitMQ的使用
1.消息生產者
RabbitMQ的消息生產者代碼示例如下。
import pika # 創建連接和通道 connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() # 聲明exchange channel.exchange_declare(exchange='direct_logs', exchange_type='direct') # 發送消息 channel.basic_publish(exchange='direct_logs', routing_key='info', body='Hello World!') # 關閉連接 connection.close()
2.消息消費者
RabbitMQ的消息消費者代碼示例如下。
import pika # 創建連接和通道 connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() # 聲明exchange channel.exchange_declare(exchange='direct_logs', exchange_type='direct') # 聲明隨機隊列 result = channel.queue_declare('', exclusive=True) queue_name = result.method.queue # 綁定隊列和exchange channel.queue_bind(exchange='direct_logs', queue=queue_name, routing_key='info') # 定義回調函數,用於接收消息 def callback(ch, method, properties, body): print("Received %r" % body) # 開始接收消息 channel.basic_consume(queue=queue_name, on_message_callback=callback, auto_ack=True) # 等待消息 channel.start_consuming()
原創文章,作者:KDZJ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/134827.html