Eureka实战总结

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(数据一致性)。

客户端选项
#续约发送间隔默认30秒,心跳间隔
eureka.instance.lease-renewal-interval-in-seconds=5
#表示eureka client间隔多久去拉取服务注册信息,默认为30秒,对于api-gateway,如果要迅速获取服务注册状态,可以缩小该值,比如5秒
eureka.client.registry-fetch-interval-seconds=5
# 续约到期时间(默认90秒)
eureka.instance.lease-expiration-duration-in-seconds=60
服务端选项
#关闭自我保护模式
eureka.server.enable-self-preservation=false
#失效服务间隔
eureka.server.eviction-interval-timer-in-ms=3000
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值