📜  了解对Spring Cloud Bus的需求

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

了解对Spring Cloud Bus的需求

步骤1:选择项目spring-cloud-config-server并运行SpringCloudConfigServerApplication.java文件。

步骤2:选择项目limits-service,然后运行LimitsServiceApplication.java文件。

步骤3:打开浏览器,然后输入https:// localhost / 8080 / limits 。它返回以下响应:

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

我们是从limits-service-qa.properties文件中获取这些值的,因为我们已经将该文件配置到Limits-service的bootstrap.properties文件中。

在下一步中,我们将再创建一个LimitsServiceApplication实例。

步骤4:创建LimitsServiceApplication的实例。

右键单击limits-service项目->运行方式->运行配置…->右键单击LimitsServiceApplication- >复制->将应用程序名称重命名为LimitsServiceApplication8081- >单击Arguments选项卡->提供VM参数: -Dserver.port = 8081- >运行

LimitsServiceApplication的实例将在端口8081上运行。

步骤5:打开浏览器并调用URL http:// locahost:8081 / limits 。它返回与原始限制服务发送的响应相同的响应。

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

限制的两个实例-服务启动和运行。

步骤6:limits-service-qa.properties中进行更改,我们将最小值从2更改为22

限制服务qa.properties

limits-service.minimum=22
limits-service.maximum=222

我们需要提交更改。

步骤7:打开Git Bash并运行以下命令:

$ cd git-localconfig-repo
$ git add *
$ git commit –m "qa minimum to 22"

再次,调用URL http:// localhost:8080 / limitshttp:// localhost:8081 / limits 。这两个URL都返回旧值,而我们已经在Git存储库中提交了这些值。它不反映limits-service中的值。要更改限额服务,我们将使用邮递员。

注意:在进行下一步之前,请从limits-service中删除安全性。

步骤8:打开limits-service.properties文件,并使用以下语句禁用安全性。

management.security.enabled=false

再次,在limits-service-qa.properties文件中设置旧值,然后提交更改。

 

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

注意:如果您正在调用URL http:// localhost:8080 / limits,并且它不返回新值。因此,要获取有关调用URL http:// localhost:8081 / limits的新值,您必须执行以下操作:打开邮递员并发送URL为http:// localhost:8081 / application / refresh的POST请求。

第10步:调用URL http:// localhost:8080 / limitshttp:// localhost:8081 / limits 。现在,两个URL都返回更改后的值。

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

我们已经创建了极限服务的两个实例。假设有一百个并行运行的极限服务实例。我们需要调用100个URL来从Git存储库刷新配置。

调用一百个URL并不像限制服务数量增加那样容易。随之而来的是,服务维护的麻烦也越来越大。

每当我们对配置进行更改时,它都必须反映微服务中的更改。在这里, Spring Cloud Bus提供了为此的解决方案,因此我们不需要调用数百个URL。

Spring Cloud Bus提供了所有一百个实例的URL。当我们调用该URL时,将使用Git配置中的最新值来更新微服务的所有实例。

在下一步中,我们将实现Spring Cloud Bus。