如果我有三个spring boot应用程序,例如Person,Customer,Order,其中spring.application.name为person,customer,order,并且每个应用程序在github Person.yml,Customer.yml,Order.yml中都有配置。每个应用程序都有两个实例,分别运行如Person1,Person2,Customer1,Customer2,Order1,Order2,所有这些实例均设置为从github读取配置,并且还具有使用rabbitmq的spring cloud bus依赖项,它们都订阅了rabbitmq broker
就像Spring cloud配置服务器设置一样,它可以使用Rabbitmq与Spring Cloud Bus一起运行,并从上述github存储库中读取配置。
并且github webhook到配置服务器的/monitor
端点。
当我对Person.yml进行配置更改并将其保存时,github将在configserver的/monitor
端点上发表文章。现在,配置服务器会将这些更改发布到Rabbitmq代理。
在这一点上,由于所有应用程序都订阅了rabbitmq,因此将触发所有应用程序实例,以便person1,person2,customer1,customer2,order1,order2都将尝试访问配置服务器,并且仅将person1和person2更新为变化。 或仅触发person1和person2应用程序,因为更改仅对Person.yml,它们会到达配置服务器。