基于Haproxy+etcd+confd的高可用Docker基础架构构建

0 下载量 167 浏览量 更新于2024-08-30 收藏 2.06MB PDF 举报
"构建一个高可用及自动发现的Docker基础架构" 本文将详细介绍如何使用Haproxy+etcd+confd构建一个高可用及自动发现的Docker基础架构。该架构称为HECD架构,整合了多种开源组件,具有自动发现、高可用、负载均衡、故障迁移、资源弹性等优势。 一、架构优势 HECD架构具有以下优势: 1. 自动、实时发现及无感知服务刷新:HECD架构可以自动发现容器的变化,并实时刷新服务,确保服务的高可用性。 2. 支持任意多台Docker主宿机:HECD架构可以支持多台Docker主宿机,提高了系统的可扩展性。 3. 支持多种APP接入且打散至不分主宿机:HECD架构支持多种APP接入,并可以将其分布到多个主宿机上,提高了系统的灵活性。 4. 采用Etcd存储信息,集群支持可靠性高:HECD架构使用Etcd存储信息,确保了集群的可靠性和高可用性。 5. 采用Confd配置引擎,支持各类接入层,如Nginx:HECD架构使用Confd配置引擎,支持多种接入层,如Nginx等。 6. 支持负载均衡、故障迁移:HECD架构支持负载均衡和故障迁移,确保了系统的高可用性。 7. 具备资源弹性,伸缩自如:HECD架构可以根据需要生成或销毁容器,实现资源的弹性扩展。 二、架构说明 HECD架构的工作流程如下: 1. 管理员使用Docker Client提交容器启动或停止指令,并将容器信息注册到Etcd中。 2. Confd配置组件定时查询Etcd,获取最新的容器信息,并根据定义好的配置模板生成Haproxy配置文件。 3. Haproxy服务自动 reload,确保服务的高可用性。 4. 用户访问业务服务时,完全没有感知后端APP的上线、下线、切换及迁移,达到了自动发现、高可用的目的。 HECD架构是一个高可用、高效的Docker基础架构,适合企业使用Docker构建自己的基础架构。