Written with StackEdit.
背景
我们系统需要第三方接口提供的数据,而这份数据并不希望放到各个服务器的内存,希望放到redis里面
基于消息体系的设计
- 让第三方提供消息,在需要更新数据的时候,通知到我们服务集群
- 使用消息的轮询机制,当一台消息消费成功,其他机器将不再给发送
- 接收消息的服务器需要同步接口数据,同步redis数据,在ack,通知到消息平台消费成功
- 如果服务器在消费过程中宕机或者抛出异常,消息平台会把消息轮询到下一台消费者
思考
这应该是一种比较优雅的方式,依赖我们完善的消息平台