写点什么

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

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

关注

评论

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

程序员是这样解读《隐秘的角落》

陈东泽 EuryChen

学习 程序员 隐秘的角落

week5

Geek_2e7dd7

【week05作业】

chengjing

【week05】总结

chengjing

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

牛牛

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

公司制的黄昏:区块链重构商业世界

CECBC

区块链思维 裂变 契约 激励

老龄化时代的人机共生:京东数科以AI机器人推动产业增长

脑极体

week5 学习总结

Geek_2e7dd7

这份架构PDF如何得到百度、洋码头、饿了么CTO等大咖联袂推荐?

小新

Java 架构 面试 队列

架构师训练营 一致性Hash算法Java实现

Cloud.

阿里内推面试,挂在了一道简单的问题上…

小新

Java 阿里巴巴 程序员 架构 面试

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

红了哟

20道Redis面试题(含答案)面试官会问的我都找到了

你是人间四月天

redis 面试 Spring Cloud redis6.0.0 Redis项目

啃碎并发(一):Java线程总述与概念

猿灯塔

最强总结——分布式事务处理方式

小闫

面试 分布式 分布式锁 分布式存储 分布式缓存

记录一次拼多多Web前端面试【一面+二面+hr面】

阿文

面试 Spring Cloud Spring Boot Web

一篇文章深入理解分布式锁

itlemon

redis 分布式锁

正确的做事比做正确的事更重要

魔曦

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

第五周总结

武鹏

搞懂Spring事务失效的8大原因,轻轻松松面试过关

码哥小胖

Java spring Spring Boot

阿里P7岗位面试,面试官问我:为什么HashMap底层树化的标准元素个数是8

鄙人薛某

Java 面试 hashmap 哈希

码农必备SQL高性能优化指南!35+条优化建议立马get

码哥小胖

MySQL SQL语法 sql查询 sql

架构师训练营 - 第 5 周命题作业

红了哟

打造Redis分布式环境下的银弹?我觉得Redisson比Redlock更胜一筹

码农月半

Java redis redis高可用 Redis项目

Week5 学习总结

wyzwlj

极客大学架构师训练营

深入理解队列:LinkedBlockingQueue源码深度解析

itlemon

阻塞队列 LinkedBlockingQueue Queue

产业区块链发展迎来爆发期

CECBC

产业区块链 系统稳定性 应用安全性 信任的机器

Spring Boot 多数据源 Redis 配置

南南

redis 面试 Spring Boot Redis作者

Uniapp使用GoEasy实现websocket实时通讯

GoEasy消息推送

uni-app websocket 即时通讯

最右JS2Flutter框架——开篇(一)

刘剑

flutter 大前端 探索与实践

让你大显身手——掌握RocketMQ与Kafka中如何实现事务

小谈

kafka 面试 RocketMQ JVM原理

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