对支付服务8001和8002做一个负载均衡(负载均衡)

开始吧

负载均衡:请求会被分配到集群服务的不同服务地址(简单理解)

改造调用服务者

1、 凭啥改造

因为RestTemplate调用服务的时候我们之前是写死的,起不到负载均衡的作用

public static final String PAYMENT_URL= "http://localhost:8001";

改造

    public static final String PAYMENT_URL= "http://CLOUD-PAYMENT-SERVICE";    //改成调用服务在注册中心的键名,会映射到相应的服务地址的值。

2、 改造完以后同样负载均衡不起作用

原因:只映射到地址的第一个值

解决:配置类上使用@LoadBalanced注解赋予RestTemplate负载均衡的能力

@Configuration
public class ApplicationContextConfig {

    @Bean
    @LoadBalanced   //赋予RestTemplate负载均衡的能力
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }
}

3、 负载均衡测试成功

负载均衡没有成功,todo。调用支付服务没能返回数据

原因是:准备拼接的字符串没有加上Http协议!

    public static final String PAYMENT_URL= "http://CLOUD-PAYMENT-SERVICE";    //改成调用服务在注册中心的键名,会映射到相应的服务地址的值。
原文地址:https://www.cnblogs.com/jinyuanya/p/14006683.html