【发布时间】:2015-08-27 09:16:59
【问题描述】:
我正在编写一个处理持久连接的 TCP/IP 服务器。我将使用 TLS 来确保通信安全,并且对如何执行此操作有疑问:
目前我在单个服务器前面有一个负载均衡器 (AWS ELB)。为了让负载均衡器在连接期间执行 TLS 终止,它必须保持连接并将纯文本转发给它后面的应用程序。
client ---tls---> Load Balancer ---plain text---> App Server
这很好用。耶!我担心的是,我需要在每个应用服务器前面安装一个负载均衡器,因为大概负载均衡器可以处理的连接数与应用服务器可以处理的连接数相同(假设相同的操作系统和 NIC )。这意味着,如果我有 1 个负载均衡器和 2 个应用服务器,我可能会遇到负载均衡器满负荷而每个应用服务器只有一半容量的情况。为了避免这个问题,我必须在负载均衡器和应用服务器之间创建一对一的关系。
我希望应用服务器不必执行 TLS 终止,因为,为什么要重新创建轮子?有没有比负载均衡器和应用服务器一对一关系更好的方法来避免上面提到的容量问题?
【问题讨论】:
标签: ssl nginx tcp load-balancing amazon-elb