Eureka端点注册
http://localhost:7900/eureka/apps/EUREKA-custom
<instance>
<instanceId>instanceid-2019</instanceId>
<hostName>eureka-7900</hostName>
<app>EUREKA-custom</app>
<ipAddr>127.0.0.1</ipAddr>
<status>UP</status>
<overriddenstatus>UNKNOWN</overriddenstatus>
<port enabled="true">1900</port>
<securePort enabled="false">443</securePort>
<countryId>1</countryId>
<dataCenterInfo class="com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo">
<name>MyOwn</name>
</dataCenterInfo>
</instance>
Eureka元数据
通过配置实例的metadatamap,进行自定义元数据,通过Eureka的DiscoverClient获取元数据信息。可以结合ribbon分发规则使用。网关作为分发规则选择服务时可以作为依据。通过自定义元数据,可以做灰度发布。
Eureka自我保护
自我保护触发
服务实例10个,期望每分钟续约102=20个,期望阈值200.85=17,自我保护少于17时触发
Eureka网卡选择
prefer-ip-address: true
ip-address: 实际能访问到的Ip
Eureka健康检查
eureka:
client:
healthcheck:
enabled: true
将client自身健康情况同步到Server,通过admin等健康检查组件查看状态
Eureka自定义配置
EurekaServerConfigBean:Eureka Server配置。
EurekaInstanceConfigBean:Eureka Client实例配置。
EurekaClientConfigBean:Eureka Client 客户端和服务端交互配置
Eureka监听事件
EurekaInstanceCanceledEvent 服务下线事件
EurekaInstanceRegisteredEvent 服务注册事件
EurekaInstanceRenewedEvent 服务续约事件
EurekaRegistryAvailableEvent 注册中心可用事件
EurekaServerStartedEvent 注册中心启动
Eureka缺陷
由于集群间的同步复制是通过HTTP的方式进行,基于网络的不可靠性,集群中的Eureka Server间的注册表信息难免存在不同步的时间节点,不满足CAP中的C(数据一致性)。