码头工人中群服务发现和负载均衡原理分析

  介绍

小编给大家分享一下码头工人中群服务发现和负载均衡原理分析,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

<强>使用的技术

  码头工人使用了linux内核iptables和ipv的功能来实现服务发现和负载均衡。

  iptables是linux内核中可用的包过滤技术,它可用于根据数据包的内容进行分类,修改和转发决策。

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

<强>准备工作

<>强群集群:【管理】node1,【工作】node2

<强>客户端镜像: registry.cn-hangzhou.aliyuncs.com/anoy/ubuntu

<强>服务端镜像: registry.cn-hangzhou.aliyuncs.com/anoy/vote

码头工人中群服务发现和负载均衡原理分析

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

<强>集群状态

  码头工人服务创建名称投票——网络overlay1,副本2 - p 8080:80 registry.cn-hangzhou.aliyuncs.com/anoy/vote

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

奥胪饭と酥腥悍穹⑾趾透涸鼐庠矸治?

  如图所示,沙箱和投票容器是“ingress"网络的一部分,它有助于路由网格.client容器和投票容器是“overlay1"网络的一部分,它有助于内部负载均衡。所有容器都是默认“docker_gwbridge"网络的一部分。

  遵循iptables中的nat规则显示,端口8080上的主机流量发送到node1里的沙盒:

  1   2   3.   4   5   6   7   8   9   10   11 <代码类=捌皆皆? [root@node2 ~] #卷发node1:8080 | grep - i“容器id" <代码类=按靠占洹?, <代码类=捌皆皆? % total %获得% xferd平均speed time time ,当前时间 <代码类="纯空间">,,,,,,,,,,,,,,,,, <代码类=捌皆皆? dload upload total spent 离开速度 <代码类=捌皆皆? 100 3162 100 3162,0,,0,7531年,,0 -:-:- - - - - - - -:- - - - -:-:- 7546 <代码类=按靠占洹?,,,,, <代码类=捌皆皆?处理容器id 6173 afd5fab8> <代码类=按靠占洹?, <代码类=捌皆皆? % total %获得% xferd平均speed time time ,当前时间 <代码类="纯空间">,,,,,,,,,,,,,,,,, <代码类=捌皆皆? dload upload total spent 离开速度 <代码类=捌皆皆? 100 3162 100 3162,0,,0,169 k ,0 -:-:- - - - - - - -:- - - - -:——:—171 k <代码类=按靠占洹?,,,,, <代码类=捌皆皆?处理容器id b07e95c5c681

看完了这篇文章,相信你对“码头工人中群服务发现和负载均衡原理分析”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

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

码头工人中群服务发现和负载均衡原理分析