Docker 1.12.0来了, 更优的负载均衡特性

导读 在最新发布的 1.12.0 版本中,当在集群中启动服务时,Docker 通过 DNS 和 IP 虚拟服务器(IPVS)为服务的负载均衡引入了新的参数,新版 Docker 引入了内置的 DNS 服务器,当启动一个容器时,可以通过使用 –net-alias 参数来为容器的 IP 地址映射别名,这个特性从 1.10 后就可使用。从 1.11 版本之后,Docker 也支持了基于循环 DNS 的负载均衡。

Docker 1.12.0来了, 更优的负载均衡特性

在基于 DNS 的负载均衡中,一个服务的名称(别名)会被映射到多个 IP 地址,在这种情况下,服务其实是运行在容器的 IP 地址背后的。当进行 DNS 查询时,DNS 服务器将会响应多个 IP 地址,同时它也会打乱返回的 IP 地址的顺序,这使得从不同客户端发送的请求将会命中不同的 IP,但必须通过手动映射一个别名到多个容器的 IP 地址才能实现循环负载均衡。

在 1.12.0 版本中,Docker添加了内置的对于服务的负载均衡的支持,原理是使用了称为 IPVS 的 Linux 特性,使用 Docker 的集群引擎,一个服务可以通过命令行和必须的数个复制品(容器)来声明,再也不用为服务手动地指定别名。在内部,该服务的 DNS 名称被映射到了一个虚拟 IP(VIP),在这里这个特性与 IPVS 联系了起来,当进行 DNS 查找时,VIP 将被返回。
Docker 1.12.0来了, 更优的负载均衡特性

IPVS 是一个 Linux 内核特性,它可以使得第四层(传输层)TCP/UDP 流量被转发到后端服务器,它是基于网络过滤模块的,其形成了在 Linux 内核中的包过滤和网络地址转换实现的基础。当一个服务请求到达了 VIP,它会被转发到一个托管服务的后端容器中,通过这样的方式,流量会被均匀地分发到容器之中,这种负载均衡服务的方式和 Consul 非常相似,它是服务发现软件。Consul 也提供一个 DNS 服务器,它可以在每次查询完成时返回多个 IP 地址。

原文来自:http://www.linuxidc.com/Linux/2016-08/134702.htm

本文地址:https://www.linuxprobe.com/docker-1120-balancing.html编辑:张宏宇,审核员:冯振华

本文原创地址:https://www.linuxprobe.com/docker-1120-balancing.html编辑:清蒸github,审核员:暂无

© 版权声明
THE END
喜欢就支持一下吧