Изменения конфигурации с помощью git webhook, весенней облачной шины и автообновления приложений
Если у меня есть три весенних загрузочных приложения, таких как Person, Customer, Order с spring.application.name в качестве person, customer, order, и каждое приложение имеет конфигурацию в github Person.yml, Customer.yml, Order.yml. И у каждого приложения есть два запущенных экземпляра, таких как Person1, Person2, Customer1, Customer2, Order1, Order2, и все они настроены на чтение конфигурации из github, а также имеют зависимости весенней облачной шины, используя rabbitmq, с помощью которого все они подписываются на брокера rabbitmq.
Это похоже на настройку сервера конфигурации Spring Cloud для запуска с облачной шиной Spring с использованием rabbitmq и для чтения конфигурации из вышеупомянутого репозитория github. И есть GitHub Webhook к /monitor
конечная точка сервера конфигурации.
Когда я внесу изменения в конфигурацию Person.yml и сохраню ее, github сделает сообщение в /monitor
конечная точка конфигурационного сервера. И сервер конфигурации теперь будет публиковать эти изменения в брокере rabbitmq.
На этом этапе, поскольку все приложения подписываются на rabbitmq, будут запущены все экземпляры приложений, так что все person1, person2, customer1, customer2, order1, order2 будут пытаться подключиться к серверу конфигурации, и только person1 и person2 будут обновлены с изменениями. Или запускаются только приложения person1 и person2, и они попадают на сервер конфигурации, поскольку изменения вносятся только в Person.yml.