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
    在这里插入图片描述
  • 输入项目名
    在这里插入图片描述
  • 选择 Web 、Eureka Discovery Client依赖
    在这里插入图片描述
  • 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 了
    在这里插入图片描述

6.1.2 Eureka Client —— consumer

  • 与 provider 一样,在 springcloudtest 项目中创建 consumer 的 moudle
    在这里插入图片描述

  • 输入项目名
    在这里插入图片描述

  • 选择 Web 、Eureka Discovery Client依赖
    在这里插入图片描述

  • 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,查看注册情况
在这里插入图片描述

  • 通过客户端 consumer 调用 provider 接口,成功了,证明单客户端、集群化服务的配置可用了
    在这里插入图片描述
  • 开始集群化 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

在这里插入图片描述

  • 查看注册情况
    访问:http://localhost:1111
    在这里插入图片描述
  • 通过 1116 端口的 consumer 服务访问 provider的内容,如果成功证明 consumer 集群可用;
    在这里插入图片描述
    因为 consumer 中的调用代码写死是访问 1113 端口的 provider,不能确定 provider 集群是否好用;获取服务也是写死的没有利用 Eureka Discovery Client ;在介绍 RestTemplate 和负载均衡的时候再进一步验证 provider 集群,并利用 Eureka 获取服务地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值