一、安裝RabbitMQ
首先,需要安裝 RabbitMQ,這個過程非常簡單。您可以按照下面的步驟進行操作。
1、添加 Erlang 倉庫
sudo nano /etc/apt/sources.list.d/erlang.list
2、將以下內容添加到文件中
deb https://packages.erlang-solutions.com/ubuntu trusty contrib
3、添加公共秘鑰
wget -O - https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -
4、更新倉庫
sudo apt-get update
5、安裝 RabbitMQ
sudo apt-get install rabbitmq-server
6、檢查 RabbitMQ 是否安裝成功
sudo systemctl status rabbitmq-server
如果您看到「active (running)」字樣,則說明 RabbitMQ 已經安裝成功了。
二、配置RabbitMQ
在啟動應用程序之前,您需要為 RabbitMQ 配置基本設置。下面是一些要素需要設置。
1、添加用戶和密碼
sudo rabbitmqctl add_user admin your_password
2、將 admin 設置為管理員用戶
sudo rabbitmqctl set_user_tags admin administrator
3、設置許可權
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
現在您已經配置了用戶名和密碼,以及設置了基本的許可權。下面需要講解如何訪問 RabbitMQ。
三、訪問RabbitMQ
默認情況下,RabbitMQ 監聽埠為 5672。如果您使用 localhost 訪問,則 URL:http://localhost:5672。如果您希望從外部訪問,則可以使用 IP 地址或公共 DNS。
如果您想通過 Web 界面訪問 RabbitMQ,則需要啟用插件,如下所示:
sudo rabbitmq-plugins enable rabbitmq_management
執行此命令後,可以通過以下地址訪問 RabbitMQ 管理面板。
URL:http://localhost:15672/ 用戶名:guest 密碼:guest
四、編寫RabbitMQ客戶端
現在,我們已準備好用 RabbitMQ 構建應用程序了。下一步是編寫一個客戶端,該客戶端將連接到 RabbitMQ,並向其發送一條消息。下面是客戶端代碼:
import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() channel.queue_declare(queue='hello') channel.basic_publish(exchange='', routing_key='hello', body='Hello World!') print(" [x] Sent 'Hello World!'") connection.close()
該客戶端會將「Hello World!」文本發送到名為「hello」的隊列。如果該隊列不存在,客戶端會創建一個。確認代碼是否運行良好之後,我們可以編寫一些作為 RabbitMQ 消費者的代碼。
import pika def callback(ch, method, properties, body): print(" [x] Received %r" % body) connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() channel.queue_declare(queue='hello') channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True) print(' [*] Waiting for messages. To exit press CTRL+C') channel.start_consuming()
這個代碼片段使用一個回調函數來處理「hello」隊列中的消息。我們在控制台上輸出收到的消息。讓我們一起運行這兩個文件
python send.py python receive.py
您應該可以在終端中看到「Hello World!」消息。該示例僅是 RabbitMQ 功能的一部分,讓您更好地了解這個強大而又簡單的消息隊列系統。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/242107.html