zoukankan      html  css  js  c++  java
  • (2-2)SpringCloud-服务注册到Eureka Server集群并消费

    服务注册到Eureka Server集群 

     在(2-1)SpringCloue-Eureka实现高可用注册中心中我们搭建好了高可用的Eureka注册中心,下面我们要把服务注册到Eureka Server 的集群中。

    步骤一、修改(1-1)SpringCloud-Eureka:服务的注册与发现中 “服务注册与服务发现---注册服务提供者” 中的配置文件

    eureka.client.serviceUrl.defaultZone=http://peer2:8752/eureka,http://peer2:8751/eureka
    server.port=8877
    spring.application.name=service-ha-hello

    步骤二、启动集群注册中心

    java -jar eureka-server-1.0.0.jar --spring.profiles.active=peer1
    java -jar eureka-server-1.0.0.jar --spring.profiles.active=peer2

    步骤三、启动服务提供者

    java -jar eureka-server-ha-service-1.0.0.jar --server.port=8877
    java -jar eureka-server-ha-service-1.0.0.jar --server.port=8878

    然后我们看到注册中心控制台已经有两个服务提供者了。说明注册成功了

    https://gitee.com/huayicompany/springcloud-learn/tree/master/lesson2/eureka-server-ha-service


     Ribbon负载均衡服务消费者实现:

    根据  (1-2)SpringCloud:服务的消费者rest+ribbon 中的例子修改。

    步骤一、修改ServiceRibbonApplication中的restTemplate()

    package org.hope;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
    import org.springframework.cloud.client.loadbalancer.LoadBalanced;
    import org.springframework.context.annotation.Bean;
    import org.springframework.web.client.RestTemplate;
    
    @SpringBootApplication
    @EnableDiscoveryClient
    public class ServiceRibbonApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ServiceRibbonApplication.class, args);
        }
    
        @Bean
        @LoadBalanced//添加了这个注解
        RestTemplate restTemplate() {
            return new RestTemplate();
        }
    
    }

    步骤二、修改HelloService中的restTemplate

    package org.hope.service;
    
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import org.springframework.web.client.RestTemplate;
    
    @Service
    public class HelloService {
    
        @Autowired
        RestTemplate restTemplate;
    
        public String hiService(String name) {
            //这里不能用这个localhost,否则调用不成功
    //        return restTemplate.getForEntity("http://localhost:8877/hello?name=" + name, String.class).getBody();
            return restTemplate.getForEntity("http://service-ha-hello/hello?name=" + name, String.class).getBody();
        }
    
    }

    步骤三、浏览器中输入http://localhost:8764/hello?name=zhangsan

    尝试多请求几次,看两个eureka-server-ha-service的控制台,可以看到两个控制台交替的打印日志。

     https://gitee.com/huayicompany/springcloud-learn/tree/master/lesson2/service-ha-ribbon

    参考:

    [1] 《SpringCloud微服务实战》,电子工业出版社,翟永超

  • 相关阅读:
    IDF2011 值得关注的东东
    用GPIO模拟SPI协议的实现[转]
    GPIO Interfaces
    电路常识性概念(8)MOS管及简单CMOS逻辑门电路原理图
    Qt's Tools
    用python 控制gpio
    高阻态
    Worker Process, Work threads, Application Pool, AppDomain, Web Site,
    Web garden 和Web farm
    MOSS2007中用户信息的同步
  • 原文地址:https://www.cnblogs.com/happyflyingpig/p/8000770.html
Copyright © 2011-2022 走看看