Nginx:
负载均衡和反向代理的区别是,反向代理由代理服务器指定特定的服务器去请求资源,而负载均衡中的代理服务器将请求转发给虚拟服务池,具体由那个服务器处理根据相应的算法来定。

RabbitMQ如何保证消息不丢失:
我们使用RabbitMQ来确保MySQL和Redis间数据双写的一致性,这要求我们实现消息的高可用性,具体措施包括:

  1. 开启生产者确认机制,确保消息能被送达队列,如有错误则记录日志并修复数据。
  2. 启用持久化功能,保证消息在未消费前不会在队列中丢失,需要对交换机、队列和消息本身都进行持久化。
  3. 对消费者开启自动确认机制,并设置重试次数。例如,我们设置了3次重试,若失败则将消息发送至异常交换机,由人工处理。