8、服务提供者和消费者注册进微服务以及服务提供者的集群搭建

1、创建cloud-provider-payment8002

image.png

仿照cloud-provider-payment8001创建cloud-provider-payment8002

2、服务提供者注册进Eureka集群

image.png

在cloud-provider-payment8001和cloud-provider-payment8002中分别将注册地址改成集群地址

eureka:
  client:
    register-with-eureka: true  #表示是否将自己注册进EurekaServer默认为True
    fetch-registry: true   #是否愿意从Eureka抓取字的注册信息,默认为true.单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka

并且为了方便查看服务信息,用端口区分

image.png

在Controller里修改


    @Value("${server.port}")
    private String port;

    @PostMapping("/payment/create")
    public CommonResult create(@RequestBody Payment payment){
      int result=paymentService.create(payment);
      log.info("******插入结果"+result);
     if(result>0){
         return  new CommonResult(200,"插入数据库成功,ServerPort"+port,result);
     }else {
         return  new CommonResult(444,"插入数据库失败",null);
     }
    }

    @GetMapping("/payment/get/{id}")
    public  CommonResult getPaymentById(@PathVariable("id")Long id){
        payment=paymentService.getPaymentById(id);
        log.info("******查询到的"+payment);
        if(payment!=null){
            return  new CommonResult(200,"查询成功,ServerPort"+port,payment);
        }else {
            return  new CommonResult(444,"没有对应记录,查询ID"+id,null);
        }
    }

3、消费者向集群注册中心拿服务

此时8001和8002组成了服务提供者集群
因此拿服务的地址应该改成服务提供者注册到Eureka的名称

image.png

image.png

 public static final String  PAYMENT_URL="http://CLOUD-PAYMENT-SERVICE";

4、开启负载均衡

开启RestTemplate的负载均衡特别简单

image.png

在Config上加上@LoadBalanced注解即可

5、启动Eureka集群,启动服务提供者集群,启动80消费者。

在Eureka的面板上能看见所有信息

image.png

并且通过80消费端口去访问发现我们的集群也已经实现了简单的负载均衡的轮询
GIF.gif

你可能感兴趣的:(8、服务提供者和消费者注册进微服务以及服务提供者的集群搭建)