启动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中服务实例列表
Eureka服务注册与发现核心原理与源码解析

最低0.47元/天 解锁文章
1111

被折叠的 条评论
为什么被折叠?



