在为像AWS这样部署在云上的大型系统使用SOA时,有两种方法可用于服务交互。
将每个服务群集放在内部elb后面。客户端使用相应的elb建立连接池,elb进行循环平衡。
采用netflix eureka等服务发现方式。
目前我们正在使用第一种方法,其中每个服务集群都在内部elb之后,客户端通过elbs进行通信,因此每个客户端实例只需维护1个池,即使用elb端点。
我对第二次投诉有疑问。
需要对上述两个问题提出意见或建议。
答案 0 :(得分:0)
第一个问题。
是的。首先,您可以执行更好的故障恢复 - 例如,重试失败的请求到另一个节点而不向客户端显示任何错误。接下来,您可以比ELB提供更好的平衡。接下来,您可以自动向/从群集添加/删除节点,而无需更改ELB配置。如果您的节点具有健康检查,这非常有用。更重要的是,软件平衡器可以快速完成此任务。
第二个问题。
每个节点都有连接池。即 [客户端代码中的api方法] - > [软件平衡器] - > [节点连接池] - > [节点连接] - > [使用此连接发出请求]