天天看点

【SpringCloud】支付微服务提供者provider集群配置

目前项目中之有一个cloud-provider-payment8001提供者

【SpringCloud】支付微服务提供者provider集群配置

看图 服务提供者也是多个,也需要变成集群,最终的结果就是注册中心集群,提供者是集群。

新建cloud-provider-payment8002参考

就是把cloud-provider-payment8001拷贝到8002,在application.yml中修改了端口号8002

【SpringCloud】支付微服务提供者provider集群配置

那么现在问题来了

现在消费者80在注册中心找微服务的提供者provider,现在有两个提供在8001和8002,但是他们外暴露的名字都是cloud-payment-service,那么到底是调用的哪个提供者了?8001还是8002?消费者调用的微服务的名称是cloud-payment-service,但是在cloud-payment-service这个名字下面可能有一台,十几台,几百台机器,那到底调用的是哪一台了,就要看端口号了

所以现在8001和8002的controller中添加如下内容:

【SpringCloud】支付微服务提供者provider集群配置

再修改原消费者80下的controller层

原来调用的url写死了,因为是单机版,但是现在提供者是集群了,就要从eureka server注册中心取Application name

【SpringCloud】支付微服务提供者provider集群配置

最后在加上@LoadBalanced注解赋予resttemplate负载均衡的能力

【SpringCloud】支付微服务提供者provider集群配置

启动8002和8001测试

注意启动的顺序

【SpringCloud】支付微服务提供者provider集群配置

在eureka server注册中心可以看到cloud-payment-service 有两个8001和8002

【SpringCloud】支付微服务提供者provider集群配置

使用8002去访问

【SpringCloud】支付微服务提供者provider集群配置

通过consumer调用访问

多刷新几次注意看调用的端口号是不同的

【SpringCloud】支付微服务提供者provider集群配置