Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群

6.1 Eureka 客户端

  • 前面【Spring Cloud 学习笔记——Eureka 服务端集群、Eureka 工作细节、Eureka 集群原理】介绍完了 Eureka Sever,现在开始搭建客户端 Eureka Client;搭建客户端也非常方便,只需要 在 application.properties 中添加 3 行配置就可以了
  • 客户端要有两种,一种是被调用的客户端,一种是调用其他接口的客户端,是根据业务人为划分的,也可以叫生产者服务,一种消费者服务,以下简称 provider 和 consumer

6.1.1 Eureka Client —— provider

  • 创建 provider 的module
    Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群_第1张图片
  • 输入项目名
    Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群_第2张图片
  • 选择 Web 、Eureka Discovery Client依赖
    Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群_第3张图片
  • appliction.properties
spring.application.name=provider
server.port=1113
eureka.client.service-url.defaultZone=http://eurekaB:1112/eureka,http://eurekaA:1111/eureka
  • 编写 HelloController
@RestController
public class HelloController {
    @Value("${server.port}")
    Integer port;
    @RequestMapping("/hello")
    public String hello(){
        return "hello   " + port;
    }
}
  • 启动项目,在 Eureka Server 中查看注册信息,看到 provider 服务注册到 Eureka Server,即 Eureka Client 注册到 Eureka Server 了
    Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群_第4张图片

6.1.2 Eureka Client —— consumer

  • 与 provider 一样,在 springcloudtest 项目中创建 consumer 的 moudle
    Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群_第5张图片

  • 输入项目名
    Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群_第6张图片

  • 选择 Web 、Eureka Discovery Client依赖
    Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群_第7张图片

  • appliction.properties

spring.application.name=provider
server.port=1115
eureka.client.service-url.defaultZone=http://eurekaB:1112/eureka,http://eurekaA:1111/eureka
  • 编写 UseHelloController,使用 Java SE 请求访问 provider,
@RestController
public class UseHelloController {
    @GetMapping("/hello1")
    public String hello1() {
        HttpURLConnection conn = null;
        try {
            URL url = new URL("http://localhost:1113/hello");
            conn = (HttpURLConnection) url.openConnection();
            if (conn.getResponseCode() == 200) {
                BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                String s = br.readLine();
                br.close();
                return s;
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "error!";
    }

-在之前的 Eureka Server 集群基础上,打包 provider、consumer,通过命令行启动两个服务:

java -jar provider-0.0.1-SNAPSHOT.jar --server.port=1113
java -jar consumer-0.0.1-SNAPSHOT.jar --server.port=1115

然后通过,访问 Eureka 的可视化窗口:http://localhost:1111,查看注册情况
Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群_第8张图片

  • 通过客户端 consumer 调用 provider 接口,成功了,证明单客户端、集群化服务的配置可用了
    Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群_第9张图片
  • 开始集群化 Eureka Clinet ,即集群化 provider、consumer服务,通过命令行再启动两个服务
java -jar provider-0.0.1-SNAPSHOT.jar --server.port=1114
java -jar consumer-0.0.1-SNAPSHOT.jar --server.port=1116

Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群_第10张图片

  • 查看注册情况
    访问:http://localhost:1111
    Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群_第11张图片
  • 通过 1116 端口的 consumer 服务访问 provider的内容,如果成功证明 consumer 集群可用;
    Spring Cloud 学习笔记——Eureka 客户端介绍、基本搭建和客户端集群_第12张图片
    因为 consumer 中的调用代码写死是访问 1113 端口的 provider,不能确定 provider 集群是否好用;获取服务也是写死的没有利用 Eureka Discovery Client ;在介绍 RestTemplate 和负载均衡的时候再进一步验证 provider 集群,并利用 Eureka 获取服务地址

你可能感兴趣的:(Spring,Cloud,笔记,Eureka,Spring,Cloud,Eureka,Client,Eureka,Client集群)