详解Docker负载均衡和服务发现
作系统虚拟化解决方案。 相关术语解释
技术原理介绍 容器化带来的问题 在缺省网络模型中,容器每次重启后,IP会发生变动,在一个大的分布式系统保证IP地址不变是比较复杂的事情。 IP频繁发生变动,动态应用部署无法预知容器的IP地址,client端如何发现server端的访问端点? 问题解决方案 根据客户端是否有感知进行分类。 客户端的发现:client 订阅注册中心,有一个固定的注册中心地址,client订阅某个服务的注册中心,注册中心根据服务的运行状态推送某个服务的访问端点列表给client端。该方案的实现举例有Dubbo、DNS的解析等。 服务端的发现:服务端提供某个服务固定的访问端点,客户端直接访问该端点即可达到与服务端通信的目的,该访问端口对接后端具有动态IP的容器,作为请求的入口,负责请求转发到后端的容器。 该方案的实现举例就是各种对后端负载均衡的实现,包括LVS 、Nginx、HAProxy等。 我们可以认为如下公式基本成立:"服务端的发现" = "负载均衡器" + "路由配置自动更新"
对比客户端的发现,服务端发现对客户端无感知,由于很多已有的应用或者系统并不是按照类似Dubbo这种服务化的框架实现的,这些应用或者系统的客户端对服务发现都是无感知的,因此服务端的发现就表现出了独特的优势。 (编辑:长春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |