当前位置: 首页 > 知识库问答 >
问题:

在AWS EC2上用Spring Boot微服务配置Netflix Eureka(路由53+VPC)

百里修真
2023-03-14

Eureka服务器运行在Linux EC2实例上的Tomcat9上。Eureka仪表板是可访问的,但客户端将不会注册。但是,客户端在localhost上注册成功。

由于资源限制,我们无法将EIPs用于微服务。我们使用路由53和虚拟私有云进行路由。

我发现有些人提到这种设置基本上是兼容的,但没有说明:

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

# below are prod environment variables
eureka.us-east-1.availabilityZones=us-east-1a
eureka.serviceUrl.us-east-1a=https://eureka.mydomain.com/

eureka.shouldUseDns=true
eureka.eurekaServer.domainName=eureka.mydomain.com/
eureka.eurekaServer.port=8081
eureka.eurekaServer.context=svc
eureka.datacenter=cloud
eureka.us-east-1.availabilityZones=us-east-1a
eureka.serviceUrl.us-east-1a=https://eureka.mydomain.com/

eureka.shouldUseDns=true
eureka.eurekaServer.domainName=eureka.mydomain.com/
eureka.eurekaServer.port=8081
eureka.eurekaServer.context=svc
eureka.datacenter=cloud

任何帮助我们的情况将非常感谢!如果你需要更多的信息,请让我知道。

共有1个答案

傅雪松
2023-03-14

>

  • 您似乎正在8081端口上运行Eureka。Eureka服务器通常在端口8761上运行。
  • 是否创建了路由53endpoint(TXT记录)ref:https://github.com/netflix/eureka/wiki/deploying-eureka-servers-in-ec2

    Eureka客户端需要具有以下配置:https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html

    `

       @Bean
       @Autowired
       @Profile("!default")
       public EurekaInstanceConfigBean eurekaInstanceConfig(InetUtils inetUtils) {
        EurekaInstanceConfigBean config = new EurekaInstanceConfigBean(inetUtils);
        AmazonInfo info = AmazonInfo.Builder.newBuilder().autoBuild("eureka");
        config.setHostname(info.get(AmazonInfo.MetaDataKey.publicHostname));
        config.setIpAddress(info.get(AmazonInfo.MetaDataKey.publicIpv4));
        config.setNonSecurePort(appPort);
        config.setDataCenterInfo(info);
        return config;
       }    
    

  •  类似资料:
    • 我最近刚把我的域名从托管提供商转移到亚马逊。我想使用S3 buckets托管我的网站,我最初试图将buckets设置为和,但我认为我以前的托管提供商使用了这些bucket名称,因为我无法创建它们。 所以我现在正在研究一个工作... -创建一个具有唯一名称的新bucket,并将我的网站文件放入其中 -我设置了Cloud Front来从该bucket中提取文件 -最后是一个Route53宿主区域,CN

    • 每个路由可以有不同的属性; 一些常见的属性是: path - 应用程序在特定路由上时在浏览器中显示的URL component - 当应用程序在特定路由上时要呈现的组件 pathMatch - 默认为’prefix’的可选属性。 确定是匹配完整的网址还是仅匹配开头。 当定义一个具有空路径字符串的路径设置pathMatch为’full’时,否则它将匹配所有路径。 children - 表示此路由的子

    • 我的角2应用程序在我的本地节点服务器上运行良好。然而,当dist/prod内容部署到服务器(准确地说是webphere自由服务器)时,url只能正常工作一次。当我尝试重新加载它时,它给我文件未找到异常。此外,http://localhost:5555/myapp/route1/somefeature/extra的深层路由也不起作用,并抛出相同的异常。 只是为了确认: < li >我使用了正确的ba

    • 我最近将我的DNS托管移动到AWS Route 53,并在传输域之前创建了托管区域。站点的顶级域是和我有,,

    • 路由服务 首先,要理解什么是 router,router是提供跨 subnet 的互联功能的。比如用户的内部网络中主机想要访问外部互联网的地址,就需要router来转发(因此,所有跟外部网络的流量都必须经过router)。目前router的实现是通过iptables进行的。 同样的,router服务也运行在自己的名字空间中,可以通过如下命令查看: $ sudo ip net exec qroute

    • 路由配置 路由的作用 路由配置是 CAT 集群流量负载均衡最重要的一环。路由配置提供了默认机器列表、多机房划分、地域划分等基本功能,路由选择的优先级为:同机房 > 同地域 > 默认机器 > 备用机器。 对于流量较高的机器,用户可以扩展相应的策略,通过路由配置将部分流量指定到低负载的机器。 配置入口 http:///localhost:8080/s/config?op=routerConfigUpd