如果我有三个Spring启动应用程序,如Person,Customer,order with spring.application.name作为person,customer,order,并且每个应用程序都在github Person.yml,Customer.yml,Order.yml中进行配置 . 每个应用程序都有两个运行的实例,如Person1,Person2,Customer1,Customer2,Order1,Order2,所有这些实例都设置为从github读取配置,并且还使用rabbitmq进行Spring Cloud 总线依赖,他们都使用rabbitmq订阅了rabbitmq broker

有类似Spring的配置服务器设置,可以使用rabbitmq与Spring Cloud 总线一起运行,并从上面的github存储库中读取配置 . 并且github webhook到配置服务器的 /monitor endpoints .

当我对Person.yml进行配置更改并保存它时,github将对configserver的 /monitor endpoints 发帖 . 配置服务器现在将这些更改发布到rabbitmq代理 .

此时,由于所有应用程序都订阅了rabbitmq,因此将触发所有应用程序实例,以便person1,person2,customer1,customer2,order1,order2都将尝试命中配置服务器,并且只有person1和person2将更新更新 . 或者只触发person1和person2应用程序并且它们命中配置服务器,因为更改仅限于Person.yml .