尤里卡与 AWS ECS
Eureka with AWS ECS
我们将 Eureka 与可扩展 docker 容器的 AWS ECS 服务结合使用。
在 ECS 中,如果您在任务定义中省略主机端口,或将其指定为“0”,则将自动选择该端口并将其报告回服务。在任务 运行 之后,对其的描述应显示它绑定到的端口。
如果我们有多个 EC2 实例,Eureka 如何解析要使用的端口。例如,来自 EC2-A 的服务 A 尝试从 EC2-B 调用服务 B。所以 Eureka 可以解析 hostname ,但是不能识别暴露的端口
还有一个解决方案。
您可以创建一个应用程序负载均衡器和一个目标组,可以在其中启动 docker 个容器。
每个 docker 容器都将它们的主机名设置为负载均衡器的主机名。如果你需要一个漂亮的 url,那么你可以使用 Route53 进行 DNS 路由。
看起来像这样:
使用 Loadbalancer-Hostname 的服务发现
请求流程
如果您在不同的主机上有两个执行相同任务的容器,它们都会将相同的负载均衡器主机名传递给 eureka。
通过此解决方案,您可以在 AWS ECS 上将 eureka 与 docker 一起使用,而不会失去动态端口映射的优势和灵活性。
问题已解决
https://github.com/Netflix/eureka/issues/937
目前 ECS 代理知道 运行ning 端口。
但是我不建议将 Eureka 与 ECS 一起使用,因为 Application Load Balancer 也是如此。它用作服务注册和发现。你不需要运行附加服务(Eureka),ALB很便宜。
嗨@Aleksandr Filichkin,
我认为 Application Load Balancer 和服务注册中心的作用不同。
主要区别在于流量流经(应用程序)负载均衡器,而服务注册表只是为您提供一个客户端可以直接寻址的健康端点(因此网络流量不会流经服务注册表)。
便宜是一个非常相对的术语,也许对某些人来说便宜,也许对其他人来说是不必要的开销。
我们将 Eureka 与可扩展 docker 容器的 AWS ECS 服务结合使用。 在 ECS 中,如果您在任务定义中省略主机端口,或将其指定为“0”,则将自动选择该端口并将其报告回服务。在任务 运行 之后,对其的描述应显示它绑定到的端口。
如果我们有多个 EC2 实例,Eureka 如何解析要使用的端口。例如,来自 EC2-A 的服务 A 尝试从 EC2-B 调用服务 B。所以 Eureka 可以解析 hostname ,但是不能识别暴露的端口
还有一个解决方案。
您可以创建一个应用程序负载均衡器和一个目标组,可以在其中启动 docker 个容器。
每个 docker 容器都将它们的主机名设置为负载均衡器的主机名。如果你需要一个漂亮的 url,那么你可以使用 Route53 进行 DNS 路由。
看起来像这样:
使用 Loadbalancer-Hostname 的服务发现
请求流程
如果您在不同的主机上有两个执行相同任务的容器,它们都会将相同的负载均衡器主机名传递给 eureka。
通过此解决方案,您可以在 AWS ECS 上将 eureka 与 docker 一起使用,而不会失去动态端口映射的优势和灵活性。
问题已解决 https://github.com/Netflix/eureka/issues/937
目前 ECS 代理知道 运行ning 端口。
但是我不建议将 Eureka 与 ECS 一起使用,因为 Application Load Balancer 也是如此。它用作服务注册和发现。你不需要运行附加服务(Eureka),ALB很便宜。
嗨@Aleksandr Filichkin,
我认为 Application Load Balancer 和服务注册中心的作用不同。 主要区别在于流量流经(应用程序)负载均衡器,而服务注册表只是为您提供一个客户端可以直接寻址的健康端点(因此网络流量不会流经服务注册表)。
便宜是一个非常相对的术语,也许对某些人来说便宜,也许对其他人来说是不必要的开销。