springcloud消息总线bus的一些总结

阅读更多

bus  总线就是mq负责服务器之间的通信,分布式的执行器(ack处理监听)

 

应用场景:应用之间不是直接通过mq发送消息,而是先发布给bus总线,然后客户端监听总线获取各自的消息,就发送端就不必一一通知

 

一、发送的消息bus会检查只applicationcontextid和当前的是否一致,一致就不处理

POST请求 /actuator/bus-refresh/${contextId}:*  post请求的上下文id就是发给bus,然后对应id的客户端监听到就收(id-实例名+端口,如果发送端只给实例名就是这个实例名

的所有服务都接受(不管端口))

注意:同一个服务实例要上下文id不同,否则任何一个实例都不会处理总线的消息---可以实例名+端口,然后辅助spring.application.index=${INSTANCE_INDEX}达到唯一

 

1,设置spring.cloud.bus.trace.enabled=true监听RemoteApplicationEvent类的所有子类

2,需要监听ack的话可以在AckRemoteApplicationEvent和SentApplicationEvent中加注解@EventListener(并启用跟踪)

 

参考:

https://springcloud.cc/spring-cloud-bus.html

https://blog.csdn.net/panchang199266/article/details/84640713

 

你可能感兴趣的:(springcloud)