由于工作需要,为了提升性能极致,有些缓存需要由redis改到本地缓存,但在集群下需要远程同步,打算用rabbitmq广播来同步缓存,后发现rabbitmq默认实现负载均衡,对于同一个应用的多个节点进行广播只能轮询并不能同时收到,但是对于不同的队列却可以同时收到,所以采用各实例动态队列名来达到目的。
1.生产者,根据广播交换机来发送消息

代码片段1
2.消费者,采用动态的队列名,这样就能保持多节点收到,我采用ip:端口-业务类型来定义队列名,各队列名都能唯一又能固定不变。

代码片段2
以上采用springClound+rabbitmq实现