gpt4 book ai didi

spring - Eureka 在 spring-cloud-netflix 上使用基于 DNS 的配置,所有实例都显示为不可用

转载 作者:行者123 更新时间:2023-12-04 10:24:04 25 4
gpt4 key购买 nike

我正在尝试使用基于 DNS 的 EIP 配置在 aws 上设置 eureka 集群,如 https://github.com/Netflix/eureka/wiki/Configuring-Eureka-in-AWS-Cloud 所述

似乎一切正常,但 eureka 仪表板坚持认为 eureka 实例不可用。我现在想知道这是否只是一个 ui 问题(我认为是),或者我是否遗漏了什么。

据我了解,仪表板中的“不可用副本”逻辑是因为 Eureka 正在比较注册主机名和副本主机名。实例在发现客户端使用其内部 VPC ip 注册,但在查找副本对等方时使用其 EIP(奇怪的是,在 eureka 日志中,我可以在内部看到它们也在使用内部 VPC ip)。

问题是:这只是一些我不应该担心的外观 ui 问题,还是由于一些错误配置而等待介入的更大问题?如果这只是一个 ui 问题:我可以以某种方式“修复”它吗?

enter image description here

编辑:

可能相关 https://github.com/spring-cloud/spring-cloud-netflix/issues/102#issuecomment-74446709

最佳答案

在相关 github 问题中@rozhok 的帮助下,我现在有了一个可行的解决方案。如果有人面临同样的问题,这就是我所做的:

应用程序.yml

eureka:
datacenter: cloud
client:
eurekaServerDNSName: your.dns.name
eurekaServerPort: 8761
eurekaServerURLContext: eureka
region: eu-west-1
registerWithEureka: true
fetchRegistry: true
useDnsForFetchingServiceUrls: true
server:
waitTimeInMsWhenSyncEmpty: 0
enableSelfPreservation: true

Eureka 服务器
@SpringBootApplication
@EnableEurekaServer
@EnableDiscoveryClient
public class EurekaServer {

@Value("${server.port:8761}")
private int port;

public static void main(String[] args) {
SpringApplication.run(EurekaServer.class, args);
}

@Bean
@Autowired
public EurekaInstanceConfigBean eurekaInstanceConfigBean(InetUtils inetUtils) {
EurekaInstanceConfigBean config = new EurekaInstanceConfigBean(inetUtils);
AmazonInfo info = AmazonInfo.Builder.newBuilder().autoBuild("eureka");

// Don't use spring cloud's hostname here.
// See comment below by Michal
config.setHostname(
info.get(AmazonInfo.MetaDataKey.publicHostname));

config.setIpAddress(info.get(AmazonInfo.MetaDataKey.publicIpv4));
config.setNonSecurePort(port);
config.setDataCenterInfo(info);
return config;
}

}

使用该配置,每个 eureka 服务器仅将其他服务器视为可用副本:

enter image description here

关于spring - Eureka 在 spring-cloud-netflix 上使用基于 DNS 的配置,所有实例都显示为不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36284246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com