开发者学堂课程【Spring Cloud Alibaba Nacos 详解(下):测试多实例负载均衡】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/725/detail/12936
测试多实例负载均衡
内容介绍:
一、测试多实例负载均衡
二、总结
接下来我们实现服务的消费者来调用服务的生产者多实例负载均衡,之前介绍过 spring cloud 的服务协作流程,当服务消费者去调用服务生产者的时候通过 Ribbon 负载均衡来选择一个实例的地址来进行调用,所以我们要模拟服务生产者多实例来测试负载均衡。
一、测试多实例负载均衡
现在启动的 provider 就是服务生产的一个实例,这个进程就表示一个实例,要启动另外一个实例,端口不能有冲突,要把端口变成一个动态的地址。
这个方式${port:56010}表示通过启动参数传入一个 port 的参数,如果没有传,默认就是56010,如果传了,就以这个参数为主。
怎么传参?
在 VM options 里写-Dport=56010。
-D 是固定的,port
就对应$符号的参数名,这就是传的参
再创建一个脚本
这样,两个启动脚本就做好了。
启动之后,在 Nacos 的服务发现中心的 provider 有两个实例。
点详情,就可以看到56010、56011,这就是两个实例
然后启动消费者,启动消费者之后就可以访问。默认负载均衡是以轮询的方式,可以跟踪日志来看。
当请求到某一个实例时,在它的控制台会有一个日志。
刷新一下:
日志出现在实例2中。
再次刷新,日志出现在实例1中(采用了轮询的方式)。
再刷新,就调用了2的实例。
这就是多实例负载均衡的测试。
二、总结
关键点:
在定义端口号的时候,通常是把它定义为传参的方式,在启动脚本里指定一个具体的端口号。
以上就是测试消费者调用生产者的一个具体的过程,整个 nacos 基于 spring cloud 服务协作的流程在快速入门程序当中就完成了。
整个过程的关键点是:
首先除了部署 Nacos Server要让所有的微服务注册到 nacos 上面,所以这个配置是非常关键的。
注册完了之后,要使用 spring cloud 这个 feign 远程调用的方式,要在 feign的客户端上用注解标识要调用的生产者的服务名,这样
FeignClient 就会生成一个代理对象,然后通过 Ribbon选择一个实例来进行远程调用。








