【问题标题】:How does the load balancer decide how to route requests?负载均衡器如何决定如何路由请求?
【发布时间】:2016-01-27 02:59:16
【问题描述】:

标题几乎说明了一切:假设我在一个云服务中创建了 3 个虚拟机,并在端口 80 上进行负载平衡。现在有一个对云服务的请求:负载均衡器如何决定将这个请求路由到这 3 个 VM 中的哪一个?是否有特定的指标或负载均衡器是否随机路由?

【问题讨论】:

    标签: azure load-balancing


    【解决方案1】:

    负载均衡器可能有粘性会话,会从一个 ip 路由到同一后端最多 1 小时或其他时间

    【讨论】:

      【解决方案2】:

      Microsoft Azure 负载均衡器是第 4 层类型的负载均衡器。 Microsoft Azure 负载均衡器在一组 可用服务器(虚拟机)通过计算散列函数 在给定输入端点上接收到的流量。哈希函数是 计算使得来自同一连接的所有数据包(TCP或 UDP)最终在同一台服务器上。 Microsoft Azure 负载均衡器使用 一个 5 元组(源 IP、源端口、目标 IP、目标端口、 协议类型)来计算用于将流量映射到的哈希值 可用的服务器。选择散列函数使得 与服务器的连接分布是相当随机的。然而, 根据流量模式,可能有不同的连接 映射到同一个服务器。

      详细信息:https://azure.microsoft.com/en-us/blog/microsoft-azure-load-balancing-services/

      【讨论】:

      • 所以如果我理解正确,映射应该是随机的?好吧,我刚刚对此进行了测试:创建具有 2 个 VM 的云服务,在端口 80 上激活负载平衡,但在这两个 VM 上设置 不同 frontend-html-pages。当我现在在浏览器中访问 my.cloudapp.net(并从多台 PC 多次尝试)时,我总是会收到 same 前端。所以没有随机性……
      • 有趣。虽然如果您从公司网络访问,那么 5 个元组值中有 4 个肯定是相同的。我希望源端口会发生变化,但是如果通过防火墙/代理等访问是否可以确定?我仍然从中读到,在具有公共流量的生产环境中,客户端基本上会被分配一个随机服务器,并且总体上流量将或多或少均匀分布。
      猜你喜欢
      • 2018-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      • 2021-12-07
      • 2011-04-24
      • 2020-05-26
      相关资源
      最近更新 更多