该服务由多个节点部署。由于配置很少发生变化,而且经常会询问,因此配置数据放在本地缓存中。修改配置后,可以更新缓存。但是,导致查询数据问题。
如何在一个节点上更新缓存并同时更新其他节点的缓存?消息队列可以解决此问题吗?
使用Rabbit的广播模式,您可以使用开关来绑定队列,并且在每个服务节点启动后,队列会生成一个唯一的队列并绑定开关。
总体实现相对简单。很难想到的主要内容是,每个节点都会创建不同的队列,也就是说,不同的节点会产生不同的结果。另外,注意到队列必须动态队列。
持续时间代表耐用的队列。如果耐用,服务中的数据重新启动队列仍在独家队列中。如果将其设置为true,则可以通过此连接自动删除此队列。字段删除,但在失去监视后自动将其删除。这次,我将其设置为自动删除它,因为如果未自动设置它,则将节点重新启动后,将生成一个新节点,而不会删除原始节点,这将导致RabbitMQ出现。