目前项目中之有一个cloud-provider-payment8001提供者
看图 服务提供者也是多个,也需要变成集群,最终的结果就是注册中心集群,提供者是集群。
新建cloud-provider-payment8002参考
就是把cloud-provider-payment8001拷贝到8002,在application.yml中修改了端口号8002
那么现在问题来了
现在消费者80在注册中心找微服务的提供者provider,现在有两个提供在8001和8002,但是他们外暴露的名字都是cloud-payment-service,那么到底是调用的哪个提供者了?8001还是8002?消费者调用的微服务的名称是cloud-payment-service,但是在cloud-payment-service这个名字下面可能有一台,十几台,几百台机器,那到底调用的是哪一台了,就要看端口号了
所以现在8001和8002的controller中添加如下内容:
再修改原消费者80下的controller层
原来调用的url写死了,因为是单机版,但是现在提供者是集群了,就要从eureka server注册中心取Application name
最后在加上@LoadBalanced注解赋予resttemplate负载均衡的能力
启动8002和8001测试
注意启动的顺序
在eureka server注册中心可以看到cloud-payment-service 有两个8001和8002
使用8002去访问
通过consumer调用访问
多刷新几次注意看调用的端口号是不同的