Spring Cloud Eureka

  • 基于Netflix Eureka做了二次封装
  • 两个组件组成:

    • Eureka Server 注册中心
    • Eureka Client 服务注册

入门注册中心(Eureka Server)

1、下载Eureka快速开发模板代码

图片描述

2、填坑开始!

直接启动,启动类上要添加@EnableEurekaServer,不然访问会报404.

@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}
3、服务本身也需要注册

yml中没有配置(我习惯用yml,可以直接将application改为yml),系统启动后,一直报错,这个是Eureka服务需要去找注册

图片描述

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
#    register-with-eureka: false
spring:
  application:
    name: eureka
server:
  port: 8761

现在就不会报错了!可以看到官方UI上的注册发现有本身,且服务名也是我们自己命名的。

这里的service-url是一个Map对象!!!需要注意,进去原码可以看清楚

public static final String DEFAULT_URL = "http://localhost:8761/eureka/";
public static final String DEFAULT_ZONE = "defaultZone";

private Map<String, String> serviceUrl = new HashMap();

public void setServiceUrl(Map<String, String> serviceUrl) {
        this.serviceUrl = serviceUrl;
    }
    

想要优化一点,就是将服务本身假移除,让它不出现在注册列表中,我们可以加一个配置

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
    register-with-eureka: false
spring:
  application:
    name: eureka
server:
  port: 8761

这样就是会注册服务成功啦!

注意!!!

Eureka是基于心跳机制的,可以看到它每隔一段时间就会检测一次,所以可能一开始启动服务的时候是没有服务的,可能要等下一次心跳检测就会将服务注册上去。

图片描述


如果本文对你有所帮助,欢迎关注技术公众号

图片描述


Java猫说
1.3k 声望930 粉丝

现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。