📜  实施Spring Cloud Bus

📅  最后修改于: 2021-01-11 02:40:38             🧑  作者: Mango

实施Spring Cloud Bus

在本节中,当我们在Git存储库中进行更改时,我们必须命中limits-service的多个实例以刷新配置。

我们将调用一个URL,它将反映微服务的所有一百个实例。在这里,我们将使用Spring Cloud Bus 。 Spring Cloud Bus中有许多可用的选项: Apache Kafka,RabbitMQ等。在本节中,我们将使用RabbitMQ

注意:在进行下一步之前,请确保RabbitMQ服务器在后台运行。

让我们在limits-servicespring-cloud-config-server中实现Spring Cloud Bus。

步骤1:打开limits-servicespring-cloud-config-server项目的pom.xml文件添加amqp依赖项并保存文件以反映更改。


org.springframework.cloud
spring-cloud-starter-bus-amqp

步骤2:打开bootstrap.properties文件,并通过添加以下语句来禁用管理安全性:

management.security.enabled=false

步骤3:首先,运行SpringCloudConfigServerApplication.java文件,然后运行limits-service的两个实例: LimitsServiceApplicationLimitsServiceApplication8081。

步骤5:调用URL http:// localhost:8080 / limits 。它返回以下响应:

{"maximum":222,"minimum":22}

现在,调用URL http:// localhost:8081 / limits 。它还返回相同的响应。

步骤6:打开limits-service-qa.properties文件,并将最小值从22更改为29

现在我们必须提交更改。

第7步:打开邮递员并发送URL为http:// localhost:8080 / bus / refresh的POST请求。

注意:如果您使用的是Spring Boot 2.0.0或更高版本,请使用以下URL:http:// localhost:8080 / actuatror / bus-refresh

步骤8:打开浏览器,并调用Limits-service的两个实例(http:// localhost:8080 / limitshttp:// localhost:8081 / limits)。这两个URL均返回我们在limits-service-qa.properties文件中配置的更新值。

{"maximum":222,"minimum":29}

我们已经看到最小值更改为29。在这里,您可以注意到我们没有在Git存储库中手动提交更改,但是更改反映在Limits-service的两个实例中。

我们没有提交Git存储库,而是调用了URL http:// localhost:8080 / bus / refresh 。这一切都是由于Spring Cloud Bus而发生的。

在特定的实例中,我们已经在RabbitMQ上运行了Spring Cloud Bus。当我们启动应用程序时,它也从此开始。启动Spring Cloud Bus之后,所有微服务都向Bus注册。

当我们更改配置并在任何实例上调用更改时,微服务都会通过Spring Cloud Bus发送事件。 Spring Cloud Bus将该事件传播到已向其注册的所有微服务实例。

在本节中,我们解决了调用多个微服务实例的问题。