The need for Spring Cloud Bus

Consider an example of making a configuration change in a microservice. Let's assume that there are five instances of Microservice A running in production. We would need to make an emergency configuration change. For example, let's make a change in localconfig-repo/microservice-a.properties:

    application.message=Message From Default Local 
Git Repository Changed

For Microservice A to pick up this configuration change, we need to invoke a POST request on http://localhost:8080/refresh. The following command can be executed at command prompt to send a POST request:

curl -X POST http://localhost:8080/refresh

You will see the configuration change reflected at http://localhost:8080/message. The following is the response from the service:

    {"message":"Message From Default Local Git Repository Changed"}

We have five instances of Microservice A running. The change in configuration is reflected only for the instance of the Microservice A where the URL is executed. The other four instances will not receive the configuration change until the refresh request is executed on them.

If there are a number of instances of a microservice, then executing the refresh URL for each instance becomes cumbersome since you would need to do this for every configuration change.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset