1、kafka主从同步与高可用
https://1028826685.iteye.com/blog/2354570
http://developer.51cto.com/art/201808/581538.htm
2、MQ有可能发生重复消费,如何避免,如何做到幂等
2.1 MQ消息发送
1、发送端MQ-client(消息生产者:Producer)将消息发送给MQ-server;
2、MQ-server将消息落地;
3、MQ-server回ACK给MQ-client(Producer);
4、MQ-server将消息发送给消息接受端MQ-client(消息消费者:Customer);
5、MQ-client(Customer)消费接受到消息后发送ACK给MQ-server;
6、MQ-server将落地消息删除
2.2 消息重复发送原因
为了保证消息必达,MQ使用了消息超时、重传、确认机制。使得消息可能被重复发送,如上图中,由于网络不可达原因:3和5中断,可能导致消息重发。消息生产者a收不到MQ-server的ACK,重复向MQ-server发送消息。MQ-server收不到消息消费者c的ACK,重复向消息消费者c发消息。