- 目前Eureka配置存在的问题:
K8S环境中(腾讯云的TKE 1.18.4),Eureka集群部署(按网络上的常用配置参数),Eureka服务为2个pod,分别为eureka-server、eureka-service,互相注册,构建为集群。
当前问题:当某个节点异常,造成1个eureka服务和data服务异常重启时,此时通过api-gateway网关调用data服务接口时,会有较大的概率出现500错误,几分钟后恢复正常。
- 分析原因:
- 原先的配置,虽然部署了集群,但是集群状态其实为不可用
- data-service服务,注册Eureka的参数,目前都配置了2个Eureka地址,每次拉取Eureka配置时,会先拉取第一个Eureka地址,再拉取第2个。
- 测试环境,当一个Eureka异常时,相关服务会有报错信息,通过api-gateway网关调用data服务接口时,会有较大的概率出现500错误,直到api-gateway服务,每5分钟重新获取eureka参数后(Resolving eureka endpoints via configuration),才恢复正常
- 出现此情况的原因,主要就是eureka集群不可用unavailable-replicas,当有服务异常时,不能及时通知所有已注册的服务重新刷新获取相关参数eureka client local cache refreshed...。目前网上的相关配置参数,并不适用于K8S,某些关键参数,需要做调整
详细参数可访问 K8S环境下Eureka集群优化.pdf-群集服务文档类资源-CSDN下载



