RabbitMq生产者可靠性

基本概念:

RabbitMQ生产者可靠性主要涉及确保消息能够可靠地发送到RabbitMQ服务器,并且在出现故障时能够进行适当的处理。

消息确认机制(Publisher Confirms):

启用 Publisher Confirms:生产者在发送消息之前,先向 RabbitMQ 服务器请求启用 Publisher Confirms 模式。

发送消息:生产者发送消息到 RabbitMQ 服务器。

消息确认:一旦消息被成功投递到所有匹配的队列,RabbitMQ 服务器会发送一个确认(ACK)回给生产者。

处理确认:生产者接收到 ACK 后,知道消息已经成功送达。如果消息无法送达,比如因为队列不存在或者其他内部错误,RabbitMQ 会发送一个否定确认(NACK)

如何处理生产者的确认消息:

生产者确认需要额外的网络和系统资源的开销,尽量不要使用,如果一定要使用,无需开启Publisher-Return机制,因为一般路由失败是自己业务问题,对于nack消息可以有限次数重试,依然失败则记录异常消息

事务支持:

使用事务来确保消息的可靠发送。如果消息发送失败,生产者可以回滚事务并重试,但这会影响性能。

生产者重连

当 RabbitMQ 生产者与 RabbitMQ 服务器之间的连接因为网络问题或其他原因断开时,生产者能够自动尝试重新连接到服务器的过程。这是确保消息发送可靠性的一种重要机制。

相关推荐
yuanlaile5 小时前
RabbitMQ高并发秒杀、抢购系统、预约系统底层实现逻辑
分布式·rabbitmq·rabbitmq高并发·rabbitmq项目实战·rabbitmq实战教程
MYBOYER6 小时前
Kafka、RabbitMQ、RocketMQ的区别
kafka·rabbitmq·rocketmq
StarRocks_labs7 小时前
从InfluxDB到StarRocks:Grab实现Spark监控平台10倍性能提升
大数据·数据库·starrocks·分布式·spark·iris·物化视图
掘金-我是哪吒9 小时前
分布式微服务系统架构第131集:fastapi-python
分布式·python·微服务·系统架构·fastapi
the_3rd_bomb9 小时前
MNIST DDP 分布式数据并行
分布式·mnist
what_20189 小时前
分布式2(限流算法、分布式一致性算法、Zookeeper )
分布式·网络协议·rpc
what_201811 小时前
分布式1(cap base理论 锁 事务 幂等性 rpc)
分布式
只因只因爆11 小时前
spark小任务
大数据·分布式·spark
椰椰椰耶13 小时前
【RabbitMQ】路由模式和通配符模式的具体实现
分布式·rabbitmq
lcw_lance14 小时前
业务中台-典型技术栈选型(微服务、容器编排、分布式数据库、消息队列、服务监控、低代码等)
数据库·分布式·微服务