赞
踩
RabbitMQ 常见面试题
1.RabbitMQ的高可用性如何保证
RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式
镜像集群模式的策略是高可用策略,指定的时候可以要求数据同步到所有节点的,也可以要求同步到指定数量的节点,
再次创建 queue 的时候,应用这个策略,就会自动将数据同步到其他的 节点上去了
Federation,HAProxy,KeepAlived 实现RabbitMQ 负载均衡,集群间节点通信
2.RabbitMQ如何保证不丢数据
消息的延迟投递,做二次确认,回调检查
首次发送[发送前入库BIZ DB] ->消费端 成功消费消 ->发送确认消息->监听服务监听该队列 -> 监听服务[callback service]相当于补偿服务(入库MSG DS)
->监听服务[callback service]监听延迟消息,确认首次发送是否成功
参考图 [RabbitMQ消息队列_可靠性投递结构图.png]
3.消息幂等性
1)借鉴数据库乐观锁机制, version版本号
2)唯一ID + 指纹码机制,利用数据库主键去重
select count(1) from table where id = 唯一ID+指纹码 返回0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。