linux

RabbitMQ消息持久化在Linux中如何实现

小樊
44
2025-11-26 23:55:35
栏目: 智能运维

在 Linux 上实现 RabbitMQ 消息持久化的关键要点


Linux 环境准备与基础配置


生产者与队列的完整配置示例

示例(Python pika,含 Confirm):

import pika

conn = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
ch = conn.channel()

# 1) 声明持久化交换机
ch.exchange_declare(exchange='persist_ex', exchange_type='direct', durable=True)

# 2) 声明持久化队列
ch.queue_declare(queue='persist_queue', durable=True)

# 3) 绑定
ch.queue_bind(queue='persist_queue', exchange='persist_ex', routing_key='key')

# 4) 开启发布确认
ch.confirm_delivery()

# 5) 发送持久化消息
props = pika.BasicProperties(delivery_mode=2)  # PERSISTENT
ch.basic_publish(
    exchange='persist_ex',
    routing_key='key',
    body='Hello, 持久化',
    properties=props
)

# 6) 同步等待确认(生产环境建议异步监听 confirm 回调)
if ch.wait_for_confirms():
    print("消息已确认落盘")
else:
    print("未确认,需重试")

conn.close()

说明:示例仅演示关键步骤,生产环境请采用异步 confirm 监听、失败重试与幂等处理。


验证与常见增强措施

0
看了该问题的人还看了