试图了解AWS扩展如何工作

时间:2016-03-11 11:26:56

标签: amazon-web-services amazon-ec2 websocket autoscaling horizontal-scaling

有一点缩放我还不明白。假设一个简单的场景ELB - > EC2前端 - > EC2后端

enter image description here

当流量很高时,会创建新的前端实例,但是,如何建立与后端的连接?

后端应用程序如何跟踪它从哪个EC2接收,以便它可以响应正确的最终用户?

此外,如果从其中一个自动创建的实例建立连接,然后流量再次降低并且实例被删除,会发生什么?与最终用户的连接丢失了?

FWIW,服务器之间的连接是通过WebSocket。

1 个答案:

答案 0 :(得分:2)

假设,例如,你的ec2'前端'是Web服务器,后端是数据库服务器,当新的前端实例被启动时,它们必须是从一个' gold'您之前使用所有必需的软件和配置信息设置的AMI,或者作为启动它的计算机的一部分,必须安装所有自定义(两种方法都有效)。无论采用哪种方法,他们都会知道如何通过ip地址或新起动机器上的配置信息中的DNS记录来查找后端服务器。

您不必担心后端跟踪客户端 - 每个与后端通信的客户端都会有IP地址,而TCPIP会为您处理握手。

就关闭实例而言,您可以启用连接耗尽以确保现有会话/连接不会丢失:

  

启用并配置连接排放时,进程   从Elastic Load Balancer中取消注册实例会获得一个   额外的一步。在配置的超时持续时间内,加载   balancer将允许对实例进行现有的正在进行的请求   完成,但它不会向实例发送任何新请求。   在此期间,API会将实例的状态报告为   InService,以及一条消息,指出“实例注销   目前正在进行中。“一旦达到超时,任何剩余的   连接将被强行关闭。

https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/