一
生产者,
通过虚拟机,
通过haproxy(负载均衡器),
传到mq集群(mq Cluster)
集群下搭载三个mq的镜像,三个镜像同步数据,如果一个镜像挂了,可以连上其他的镜像继续使用,保证数据不丢失
上面是保证数据不丢失的一个方法
二
RabbitMQ有一个消息自动确认机制,记得不要打开,要手动确认
在消费者消费完成之后,再去确认消息,这要也可以保证消息不丢失
三
RabbitMQ,消费完,自动删除消息,幂等性是没问题的,就怕生产者发两遍
如果生产者发送两遍,你就想办法不让他发,我发完存key在redis ,存完,下次发前查询
kafaka 他的消息是通过定时删除的,在消费完不会直接删除,这个要注意了
视频源:
MQ视频