Docker中Swarm服务发现和负载均衡原理分析

2023-10-17 1344阅读

本站在Docker中分享了对Swarm服务发现和负载平衡原理的分析。希望你看完这篇文章有所收获。大家一起讨论一下。Docker利用linux内核iptables和ipvs的功能实现服务发现和负载均衡。Iptables是linux内核中可用的包过滤技术,可以根据数据包的内容对其进行分类、修改和转发。Ipvs是linux内核中可用的传输级负载平衡器。如图所示,我们将在集群中部署“客户端”服务和“投票”服务,其中“投票”服务部署多个副本。所有容器都是默认“docker_gwbridge”网络的一部分。《Docker中Swarm服务发现和负载均衡原理分析》来自互联网同行内容,若有侵权,请联系我们删除!

本站在Docker中分享了对Swarm服务发现和负载平衡原理的分析。希望你看完这篇文章有所收获。大家一起讨论一下。

Docker中Swarm服务发现和负载均衡原理分析
(图片来源网络,侵删)


使用的技术

Docker利用linux内核iptables和ipvs的功能实现服务发现和负载均衡。

Iptables是linux内核中可用的包过滤技术,可以根据数据包的内容对其进行分类、修改和转发。

Ipvs是linux内核中可用的传输级负载平衡器。


准备工作


swarm 集群:

【经理】节点1、【工人】节点2


客户端镜像:

registry.cn-hangzhou.aliyuncs.com/anoy/ubuntu


服务端镜像:

registry.cn-hangzhou.aliyuncs.com/anoy/vote

如图所示,我们将在集群中部署“客户端”服务和“投票”服务,其中“投票”服务部署多个副本。当客户端请求“投票”服务时,输出包含服务器的容器id,这使得演示网络请求更容易。


集群状态

docker服务创建-名称投票-网络覆盖1 -副本2-p 8080:80 registry.cn-hangzhou.aliyuncs.com/anoy/vote

下图显示了沙箱、容器和每个节点网络之间的映射关系:

如图所示,沙箱和投票容器是“入口”网络的一部分,有助于路由网格。客户端容器和投票容器是“重叠1”网络的一部分,这有助于内部负载平衡。所有容器都是默认“docker_gwbridge”网络的一部分。

根据iptables中的nat规则,端口8080上的主机流量被发送到节点1中的沙盒:

一个

2

10

11[root @ node 2 ~]# curl node 1:8080 | grep-I ‘ container id“% total % received % xferd average speed time time current load upload total wasted left speed 100 3162 100 3162 0 0 0 7531 0-:-:-3:-:-75466 container id 6173 AFD 5 fab 8处理

[root @ node 2 ~]# curl node 1:8080 | grep-I ‘ container id“% total % received % xferd average speed time time current load upload total wasted left speed 100 3162 100 3162 0 0 0 169k 0-:-:-:-3:-3:-171k container id b07 e 95 C5 c 681处理读取此内容后

原文链接:https://www.jianshu.com/p/dba9342071d8

《Docker中Swarm服务发现和负载均衡原理分析》来自互联网同行内容,若有侵权,请联系我们删除!

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]