我想了解在哪种情况下,我应该通过负载平衡器选择服务注册表。服务发现vs负载均衡
从我的理解这两个解决方案覆盖了相同的功能。
举例来说,如果我们考虑consul.io作为一个功能列表,我们有:
- 服务发现
- 健康检查
- 键/值存储
- 多数据中心
如果负载平衡器像Amazon ELB例如有:
- 配置只能从负载平衡器
- 接受流量使用以下协议接受流量:HTTP,HTTPS(安全HTTP),TCP和SSL(安全TCP)
- 分发向多个可用区中的EC2实例发送请求
- 连接数与负载平衡器接收到的并发请求数成比例
- 配置Elastic Load Balancing用于监视EC2实例运行状况的运行状况检查向负载平衡器注册,以便它只能将请求发送到健康实例
- 您可以在使用安全(HTTPS/SSL)连接的网络上使用端到端流量加密
- [EC2-VPC] You可以创建面向Internet的负载均衡器,该平衡器通过Internet从客户端接收请求并将它们路由到您的EC2实例或面向内部的负载均衡器,该负载均衡器从VPC中的客户端获取请求并将它们路由到您的私有EC2实例子网。 EC2-Classic中的负载平衡器始终面向互联网。
- [EC2-Classic] EC2-Classic的负载均衡器支持IPv4和IPv6地址。 VPC的负载平衡器不支持IPv6地址。
- 您可以使用CloudWatch指标,访问日志和AWS CloudTrail监控负载均衡器。
- 您可以将面向Internet的负载平衡器与您的域名相关联。
- 等
因此,在这种情况下,我不理解为什么我会选像consul.io
或netflix eureka
在Amazon ELB
服务发现。
我有一种预感,这可能是由于实施客户端服务发现 VS 服务器端的服务发现,但我不能肯定。
https://stackoverflow.com/questions/46807757/service-discovery-on-aws-ecs-with-application-load-balancer 这个帖子似乎也有同样的关注 –