写点什么

Docker 1.12.0 改进了服务的负载均衡参数

  • 2016-08-28
  • 本文字数:732 字

    阅读完需:约 2 分钟

在最新发布的 1.12.0 版本中,当在集群中启动服务时,Docker 通过 DNS 和 IP 虚拟服务器(IPVS)为服务的负载均衡引入了新的参数。

新版 Docker 引入了内置的 DNS 服务器,当启动一个容器时,可以通过它使用 --net-alias 参数来为容器的 IP 地址映射别名。这个特性从 1.10 后就可使用。从 1.11 版本之后,Docker 也支持了基于循环 DNS 的负载均衡。

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

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

IPVS 是一个 Linux 内核特性,它可以使得第四层(传输层) TCP/UDP 流量 被转发到后端服务器。它是基于网络过滤模块的,其形成了在 Linux 内核中的包过滤和网络地址转换实现的基础。

当一个服务请求到达了 VIP,它会被转发到一个托管服务的后端容器中。通过这样的方式,流量会被均匀地分发到容器之中。这种负载均衡服务的方式和 Consul 非常相似,它是服务发现软件。Consul 也提供一个 DNS 服务器,它可以在每次查询完成时返回多个 IP 地址。

查看英文原文: Improved Options for Service Load Balancing in Docker 1.12.0

2016-08-28 19:002453
用户头像

发布了 32 篇内容, 共 21.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营 W5 作业

Kun

极客大学架构师训练营

作业

chenzt

05周作业—技术选型

dao

极客大学架构师训练营 作业 一致性Hash算法

架构师训练营第五周作业

架构师 极客大学架构师训练营

架构师训练营第五周作业

talen

朱嘉明教授获2020杭州区块链国际周“特别致敬奖”

CECBC

CECBC 朱嘉明 区块链国际周 特别致敬

架构师训练营 -- 第五周作业

stardust20

数据库周刊31丨openGauss 正式开源;7月数据库排行榜发布;oracle ADG跨版本搭建;PG解决社保问题;mysqlbinlog解析……

墨天轮

MySQL 数据库 oracle 性能优化 opengauss

架构师训练营 - 第五周 - 学习总结

stardust20

一致性hash算法的实现和平衡性测试

周冬辉

啃碎并发(四):Java线程Dump分析

猿灯塔

Spring Boot读取配置文件的几种方式

Java旅途

Spring Boot properties yaml

架构师训练营--第五周学习总结

花花大脸猫

极客大学架构师训练营

计算机中短期学习路线

zack

国内首本CTF赛事技术解析书籍,五年之约,兑现了!

华章IT

网络安全 Web CTF Reverse PWN

架构师训练营——第5周学习总结

jiangnanage

新增的两个区块链职业到底是做什么的?

CECBC

技术人才 系统操作 需求落地 框架搭建

一致性Hash算法

技术小生

极客大学架构师训练营

第5周结构师训练营——作业

jiangnanage

kafka监听mysql实时数据变更

爱java爱自己

MySQL mysql事务

话题讨论|作为一名程序员,你下班之后都会做些什么?

InfoQ写作社区官方

写作平台 话题讨论 话题 热门活动

Spring核心原理解析

Java spring

让Go“恐慌”的十种方法

博文视点Broadview

Go 语言

分布式缓存总结

罗亮

一口气说出 OAuth2.0 的四种授权方式

程序员小富

Java oauth2.0

Scrum Master与Project Manager的区别

Mew151

Scrum

分布式缓存一致性hash算法实现

考尔菲德

第五周总结

考尔菲德

Redis-进阶篇一

多选参数

数据库 redis redis高可用 redis6.0.0 Redis项目

你可能还不知道自己无知

小天同学

读书 智能时代 信息噪声 高考

“区块链+” 医疗行业场景应用迎来大发展

CECBC

医疗方案 区块链+ 场景应用落地 多元场景应用

Docker 1.12.0 改进了服务的负载均衡参数_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章