【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:001842
用户头像

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

关注

评论

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

Maven之简要学习

Andy

zTree

Andy

java之扩展概念

Andy

重塑影响力

光毅

开发者如何构建技术影响力

“程”风破浪的开发者|OpenHarmony的dcts分布式兼容性测试套件学习

鸿蒙之旅

OpenHarmony 10月月更 “程”风破浪的开发者

golang中的锁竞争问题

六月的

golang

“程”风破浪的开发者|云数据库时代,DBA要掌握哪些技能?

乌龟哥哥

学习方法 10月月更 “程”风破浪的开发者

【一Go到底】第二十八天---数组实际案例与复杂应用

指剑

Go golang 10月月更

“程”风破浪的开发者|微信小程序生成海报图片导出相册

江拥羡橙

微信小程序 学习方法 canvas “程”风破浪的开发者

线程池浅析

Andy

java之理论问题集合

Andy

java之类库

Andy

Git之分支管理

Andy

Git之标签管理

Andy

管理思考

Andy

jdk11之Idea使用问题

Andy

java之类集框架

Andy

使用Supervisor守护Nginx进程

乌龟哥哥

10月月更

java之新特性

Andy

数据湖(十三):Spark与Iceberg整合DDL操作

Lansonli

数据湖 10月月更

java之反射机制与国际化、网络编程、数据库编程、不可变对象

Andy

Es6中的this指向

乌龟哥哥

10月月更

Sonar使用的初次思考

Andy

java之线程

Andy

java之流

Andy

软件配置管理概述

Andy

Java面向对象

Andy

“程”风破浪的开发者|思考?——小问题大道理

江拥羡橙

微信小程序 学习方法 HTML5, CSS3 “程”风破浪的开发者

SVN简介

Andy

Maven简介

Andy

Docker常用命令

Geek_633117

Docker

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