跳到主要内容

负载均衡

2024年07月25日
柏拉文
越努力,越幸运

一、认识


Docker Swarm 提供了内置的负载均衡功能,以便在多个服务副本之间均匀分配流量。当你在 Swarm 集群中创建一个服务并指定多个副本时,Swarm 会自动在这些副本之间分配流量,从而实现负载均衡。

二、原理


2.1 DNS 轮询

Swarm 使用内部的 DNS 服务为每个服务创建一个 DNS 条目。当请求解析服务的 DNS 名称时,DNS 服务会返回所有可用副本的 IP 地址。客户端可以通过轮询这些 IP 地址来实现负载均衡。

2.2 VIP 模式

Swarm 为每个服务分配一个虚拟 IP 地址(VIP),所有服务副本共享这个 VIP。当请求到达 VIP 时,Swarm 会自动将请求分发到相应的服务副本。

2.3 内部负载均衡

Swarm 集群中的每个节点都有一个内置的负载均衡器,用于在集群内部均匀分配流量。当外部请求到达某个节点时,如果该节点上没有目标服务的副本,Swarm 会将请求转发到有服务副本的节点上。