使用DNS的服务发现及内部负载均衡-创新互联

下文给大家带来使用DNS的服务发现及内部负载均衡,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用创新互联在行业内累计的经验来做一个解答。

创新互联公司主营尧都网站建设的网络公司,主营网站建设方案,app软件定制开发,尧都h5微信小程序开发搭建,尧都网站营销推广欢迎尧都等地区企业咨询

1.使用DNS进行服务

docker引擎据由内部的DNS云服务器,可以为用户定义的网桥(network)、覆盖网络igressoverla(ovelay)、macvlan网络中主机上的所有容器提供名称解析。

每个容器内都有一个NDS解析器,将dns查询结果转发到docker引擎(docker守护程序),该引擎充当dns服务器。docker引擎检查dns查询是属于容器还是属于集群service的请求,如果是容器

则docker引擎会查找与容器名称相匹配的ip,或者service在其键值存储中查找并将ip或者service虚拟ip返回给请求者。

服务发现是网络范围的,这意味着只有位于同一网络上的容器或任务才能使用嵌入式DNS功能。如果容器或者service不在同一网络中,则docker引擎会将dns查询转发到默认DNS服务器解析。

使用DNS的服务发现及内部负载均衡

2.内部负载均衡

在docker swarm集群创建服务时,会自动为他们分配一个虚拟ip,该虚拟IP是服务网络的一部分。解析服务名称时返回vip。通过覆盖网络(overlay)自动将vip的流量发送到服务的所有的健康任务中。

docker负责路由并在健康的服务中平均分配流量。

创建overlay网络

docker network create -d overlay mylay

查看swarm创建服务时分配的vip

docker service inspect 服务名 | grep Addr

DNS循环(DNS RR)负载平衡是服务的另一个负载平衡选项(配置为--endpoint-mode)。

在DNS RR模式下,不会为每个服务创建VIP。Docker DNS服务器以循环方式将服务名称解析为单个容器IP

3.swarm集群路由网

路由网的原理:集群中所有的节点都对外公布tcp/udp端口,接收来自外部的请求连接流量,之后通过内核的IPVS负载均衡器将ingress覆盖网络上的流量重定向到健康的服务副本。

路由网是由docker engine 1.12中引入的,它组合ipvs和iptable创建了一个集群范围内的传输层L4负载均衡。它允许集群中所有节点接收已发布端口上的请求连接。

当任何集群节点接收到tcp/upd端口service的流量的,就会使用服务创建时指定的覆盖网络将请求流量分发到服务的vip igress。

启动服务后,您可以为应用程序创建外部DNS记录(对外公布端口 --public 80:80),并将其映射到任何或所有Docker swarm节点。

4.swarm第7层路由(互锁代理)

群集模式路由网络非常适合传输层路由。它使用服务的已发布端口路由到服务。互锁是一种新功能,可在应用层(L7)上启用服务发现。

此第7层路由通过添加应用层功能(例如检查HTTP标头)扩展到群集模式路由网格。互锁和群集模式路由网络一起使用,以提供灵活和强大的服务交付。

看了以上关于使用DNS的服务发现及内部负载均衡,如果大家还有什么地方需要了解的可以在创新互联行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,创新互联技术工程师在行业内拥有十几年的经验了。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:使用DNS的服务发现及内部负载均衡-创新互联
路径分享:http://myzitong.com/article/hohpd.html