为了展示如何使用这个消息中间件,我们将创建一个简单的客户端脚本,它将发布一条消息,并消费该消息。
首先,我们需要安装fastapi
和uvicorn
:
bash
pip install fastapi uvicorn
然后,我们将使用以下客户端脚本来演示如何使用消息中间件:
python
import requests
import time
# 消息中间件的URL
message_broker_url = "http://localhost:8000"
# 发布消息
def publish_message(channel, message):
response = requests.post(f"{message_broker_url}/publish/{channel}", json=message)
return response.json()
# 消费消息
def consume_message(channel):
response = requests.get(f"{message_broker_url}/consume/{channel}")
return response.json()
# 发布一条消息
channel = "test_channel"
message = {"content": "Hello, World!"}
publish_response = publish_message(channel, message)
print(f"Published message: {publish_response}")
# 等待一段时间,以便消息被存储
time.sleep(1)
# 消费消息
consume_response = consume_message(channel)
print(f"Consumed message: {consume_response}")
在运行客户端脚本之前,请确保消息中间件正在运行,并且监听在8000端口上。
运行客户端脚本后,它将执行以下操作:
-
发布一条消息到名为
test_channel
的频道。 -
等待一段时间,以便消息被存储。
-
从
test_channel
频道消费消息。
输出应该类似于:Published message: {'message': 'Message published successfully', 'message_id': '...'}
Consumed message: {'id': '...', 'content': 'Hello, World!', 'status': 'received'}
请注意,由于消息中间件在内存中存储消息,重启中间件后,所有消息都会丢失。此外,这个示例没有实现完整的错误处理和重试机制,因此在生产环境中使用时,你可能需要添加这些功能。