【发布时间】:2019-01-17 06:28:19
【问题描述】:
在 ELB 设置中,我们可以将 HTTP 和 TCP 视为侦听器的协议,我不确定如果我将侦听器设置如下会有什么区别。
ELB AAA 负载均衡器协议:HTTP 负载均衡器端口:80
ELB BBB 负载均衡器协议:TCP 负载均衡器端口:80
【问题讨论】:
标签: amazon-elb
在 ELB 设置中,我们可以将 HTTP 和 TCP 视为侦听器的协议,我不确定如果我将侦听器设置如下会有什么区别。
ELB AAA 负载均衡器协议:HTTP 负载均衡器端口:80
ELB BBB 负载均衡器协议:TCP 负载均衡器端口:80
【问题讨论】:
标签: amazon-elb
我相信它与 HTTP 使用 TCP 协议是一样的。
【讨论】:
我假设您指的是较旧的 Classic Load Balancer,它同时具有 HTTP 和 TCP 选项。较新的 ELB 代隔离更清晰:Application Load Balancer 仅支持 HTTP/HTTPS,Network Load Balancer 仅支持 TCP/UDP。
经典负载均衡器
参考这个链接: https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html
要了解区别,您需要了解一点 OSI 模型第 4 层和第 7 层。
当配置为 HTTP:80 时,ELB 终止请求。也就是说,ELB 在通过 HTTP/TCP 将请求转发到后端之前拦截请求。这可能看起来微不足道,但它允许 ELB 执行附加功能,例如粘性会话。
当配置为 TCP:80 时,ELB 不会拦截请求。它只是将请求转发到具有相同标头集的后端。这是因为它应该在网络级别运行,这使得 ELB 的性能更高。
【讨论】: