Eureka客户端源码分析

Eureka服务注册与发现核心原理与源码解析

启动Eureka客户端主要做了两件事:

  •    在应用主类中配置了@EnableDiscoveryClient注解。
  •    在 application.properties 中用 eureka .client.serviceUrl.defaultZone参数指定了服务注册中心的位置。

@EnableDiscoveryClient注解

        @EnableDiscoveryClient注解如下:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface EnableEurekaClient {

}

        该注解用于开启DiscoveryClient实例,依赖关系图如下:

EurekaClient的核心接口如下:

@ImplementedBy(DiscoveryClient.class)
public interface EurekaClient extends LookupService {
    Applications getApplicationsForARegion(@Nullable String var1);

    Applications getApplications(String var1);

    List<InstanceInfo> getInstancesByVipAddress(String var1, boolean var2);

    List<InstanceInfo> getInstancesByVipAddress(String var1, boolean var2, @Nullable String var3);

    List<InstanceInfo> getInstancesByVipAddressAndAppName(String var1, String var2, boolean var3);

    Set<String> getAllKnownRegions();

    InstanceStatus getInstanceRemoteStatus();  

    void registerHealthCheck(HealthCheckHandler var1);

    void registerEventListener(EurekaEventListener var1);

    boolean unregisterEventListener(EurekaEventListener var1);

    HealthCheckHandler getHealthCheckHandler();

    void shutdown();

    EurekaClientConfig getEurekaClientConfig();

    ApplicationInfoManager getApplicationInfoManager();
}

        

从接口定义我们看到Eureka Client的核心功能如下:

  •  向Eureka Server注册服务实例
  •  向Eureka Server服务续约
  •  当服务关闭时取消租约
  • 查询Eureka Server中服务实例列表

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值