当前位置: 首页 > 知识库问答 >
问题:

什么是直通负载均衡器?它与代理负载均衡器有何不同?

东郭自强
2023-03-14

Google云网络负载平衡器是一个直通负载平衡器,而不是代理负载平衡器。()https://cloud.google.com/compute/docs/load-balancing/network/)。

一般来说,我在直通LB上找不到任何资源。HAProxy和Nginx似乎都是代理LBs。我猜直通LB会将客户端直接重定向到服务器。在什么情况下,这将是有益的?

除了传递和代理之外,还有其他类型的负载平衡器吗?

共有1个答案

洪楷
2023-03-14

很难找到传递负载平衡的资源,因为每个人都想出了不同的调用方式:传递、直接服务器返回(DSR)、直接路由、...

我们称之为通过这里。

让我来解释一下:

>

VM认为负载平衡器IP是其自己的IP之一。

在计算引擎网络负载平衡的特定情况下https://cloud.google.com/compute/docs/load-balancing/:对于Linux,这是通过在“本地”路由表中向该IP添加路由来实现的,Windows是通过在网络接口上添加辅助IP来实现的。

路由逻辑必须确保TCP连接或UDP“连接”的数据包始终发送到同一个VM。

GCE网络LB见此处https://cloud.google.com/compute/docs/load-balancing/network/target-pools#sessionaffinity

关于其他负载平衡器类型,不能有一个明确的列表,以下是一些示例:

>

  • NAT。这里有一个iptables的例子https://tipstricks.itmatrix.eu/use-iptables-to-load-balance-web-trafic/.

    TCP代理。在Google Cloud Platform中,您可以使用TCP代理负载平衡https://cloud.google.com/compute/docs/load-balancing/tcp-ssl/tcp-proxy

    HTTP代理。在Google云平台中,您可以使用HTTP(s)负载平衡https://cloud.google.com/compute/docs/load-balancing/http/

    DNS,称为“DNS转发器”。例如:dnsmasqhttp://www.thekelleys.org.uk/dnsmasq/doc.html,或在“转发”模式下绑定https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-caching-or-forwarding-dns-server-on-ubuntu-14-04

    数据库通信协议。例如带有https://github.com/mysql/mysql-proxy的MySQL协议

    SIP协议。此处列出了大量实现https://www.voip-info.org/wiki/view/Open源VOIP软件#SIPProxy

    至于通过其他方法的优势:

    >

    这里的优势在于它不会更改源IP和目标IP。

    请注意,在更高层工作的负载平衡器有一个技巧来保留IP:负载平衡器在连接到后端时欺骗客户端的IP。截至本文撰写时,没有负载平衡产品在计算引擎中使用此方法。

    如果您需要从客户端对TCP连接进行更多控制,例如调整TCP参数。这是通过或NAT优于TCP(或更高层)代理的一个优点。

  •  类似资料:
    • 负载均衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载均衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载均衡服务通常是由专用软体和硬件来完成。 负载均衡最重要的一个应用是利用多台服务器提供单一服务,这种方案有

    • 负载均衡包括负载均衡实例、访问控制及证书。 实例 负载均衡实例是一个运行的负载均衡服务,通过设置的虚拟IP接收流量并将其转发分配给后端服务器。 访问控制 访问控制用于设置访问负载均衡的IP白名单或IP黑名单。 证书 当在负载均衡实例上配置HTTPS监听转发来自HTTPS协议的请求时,需要配置证书。

    • 一个简单的负载均衡的示例,把www.domain.com均衡到本机不同的端口,也可以改为均衡到不同的地址上。> http { : upstream myproject { : server 127.0.0.1:8000 weight=3; : server 127.0.0.1:8001; : server 127.0.0.1:8002; : server 127.0.0.1:8003; : }

    • SOFARPC 提供多种负载均衡算法,目前支持以下五种: 类型 名称 描述 random 随机算法 默认负载均衡算法。 localPref 本地优先算法 优先发现是否本机发布了该服务,如果没有再采用随机算法。 roundRobin 轮询算法 方法级别的轮询,各个方法间各自轮询,互不影响。 consistentHash 一致性hash算法 同样的方法级别的请求会路由到同样的节点。 weightRou

    • tcp_proxy_server 主要是为需要负载均衡的场景准备的。 它既能做四层tcp负载均衡,也能作七层http负载均衡。内置负载均衡算法为轮询法。 HTTP 七层负载均衡 来看一个http反向代理的例子: #include <unistd.h> #include <sys/wait.h> #include <sys/signal.h> #include <sys/prctl.h> #in

    • 负载均衡器的作用是将流量转发到主机。在这方面,ingress与负载均衡器有何不同?另外,与Amazon ELB和ALB相比,kubernetes内部的负载均衡器是什么概念?