在本系列的上一篇文章中,我们搭建了一个 Gateway 服务,并通过 Gatway 服务来访问业务服务(bmi-calculator)。在本文中,我们将向学员展示 Gateway 的负载均衡能力。
打包 bmi-calculator 项目
在 bmi-calculator 项目根目录中,执行以下命令进行项目打包:
1 | mvn clean package |
在成功打包后,可以在项目的 target 目录中看到名为 bmi-calculator-1.3.0-SNAPSHOT.jar 的文件。该文件中包含了业务代码及项目的依赖库。
在不同端口启动 bmi-calculator
在不同端口,甚至是不同的机器上启动 bmi-calcuator 服务,比如在同一台机器的 6668 和 7779 端口分别启动服务。
- 在命令行执行以下命令,启动运行在6668端口的服务
1 | java -Dcse.rest.address-0.0.0.0:6668 -jar bmi-calculator-1.3.0-SNAPSHOT.jar |
成功执行以后,可以看到类似的提示:
1 | ... |
注意 InstanceID 的值
- 再打开一个命令行,启动运行在 7779 端口的服务, 执行:
1 | java -Dcse.rest.address-0.0.0.0:7779 -jar bmi-calculator-1.3.0-SNAPSHOT.jar |
同样可以看到类似的输出:
1 | 2019-10-26 22:38:22.099 INFO 6587 --- [ main] org.apache.servicecomb.core.SCBEngine : Service information is shown below: |
注意: 两个服务的 InstanceID 的值是不同的
验证
在浏览器的地址栏输入
1 | http://localhost:8889/calculator/bmi?height=120&weight=50 |
可以看到,浏览器显示类似的结果
1 | {"result":34.7,"instanceId":"42713135f7fe11e9ab4e0242ac110002","callTime":"22:39:30"} |
通过反复刷新地址栏,可以看到返回的 instanceId 会在两个服务器间转换。
下一步
在下一篇文章中,将介绍 ServiceComb 的限流能力。