Spring Cloud微服务单体部署Eureka服务端下客户端的构建

eureka-client

当构建了服务发现组件,微服务如何注册到服务发现组件?当构建了eureka集群,如何保持eureka-server之间注册表的一致?这都涉及到了eureka-client(eureka客户端)。eureka-client的作用往eureka-server注册信息,从eureka-server里获取注册表信息等。
如果这有些不好理解的话,我们可以这么说。在先前说到单体部署Eureka服务的时候,说eureka-server就是一个消息贩子。那么eureka-client就是一个手机。微服务拥有一个手机,它告诉消息贩子自己的姓名和联系方式,告诉eureka-server,如果有人拿着它(eureka-client)的名字来找它(eureka-server),那么就把它(eureka-client)的位置说出去。这就是注册。当然,微服务也可以通过电话,来从消息贩子(eureka-server)那里获取到其他的微服务的联系方式。而且厉害的是,这个手机(eureka-client)还有保存从消息贩子获取的其他微服务的联系方式的功能,这样子下次想要再次找那个微服务,也就不用老是去问消息贩子了,毕竟电话费是要钱的。
这么一说,这个手机(eureka-client)至关重要,没有手机,也就没有微服务可以联系上消息贩子(eureka-server),当然消息贩子也就不能提供任何的消息了。
那么一个微服务如何去购买一台这样可以跟消息贩子联系的手机呢?

实现eureka客户端

  1. 添加eureka-client的依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
  2. 给EurekaClientApplication添加注解@EnableEurekaClient

    package com.wangguitang.freedom.study.spring.cloud.eureka.client;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
    
    @SpringBootApplication
    @EnableEurekaClient
    public class EurekaClientApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(EurekaClientApplication.class, args);
        }
    }
  3. 在配置文件application.yml中添加配置

    server:
      port: 8080
    
    spring:
      application:
        name: eureka-client
    eureka:
      client:
        serviceUrl:
          defaultZone: http://localhost:8761/eureka

启动Eureka-client

  1. 右键类EurekaClientApplication,选中Run As–>Spring Boot App

github源码

https://github.com/wang465745776/freedom-study-spring-cloud-parent/tree/master/freedom-study-spring-cloud-eureka-client

猜你喜欢

转载自blog.csdn.net/wang465745776/article/details/80019797