Docker——Docker consul(容器服务更新与发现)

本文介绍了Docker环境下使用Consul进行服务发现和配置管理的原理与实践。主要内容包括Consul的特性、服务更新与发现的架构、通过Consul Template和Registrator实现动态配置更新,以及在多节点环境中的应用。通过模拟实验展示了如何利用Consul构建高可用的服务框架。
摘要由CSDN通过智能技术生成

一、Docker consul简介

consul是HashiCorp公司推出使用go语言编写的开源工具,用于实现分布式系统的服务发现与配置

  • consul支持健康检查,允许存储键值对
  • 一致性协议采用Raft算法,用来保证服务的高可用
  • 成员管理和消息广播采用GOSSIP协议,支持ACL访问控制
  • 方便部署,与Docker等轻量级容器可无缝配合

Docker consul服务更新与发现的服务架构

在这里插入图片描述

  • consul template:配置文件模板
  • registrator:注册机制
  • consul server:consul服务

上方拓扑图是基于Docker完成的,然后将consul、consul template、registrator和nginx组装成一个值得信任且可扩展的服务框架,此架构可以灵活的、不需要重启任何服务、不需要重写任何配置的添加和移除服务
当后方增加了一个容器时,容器会注册registrator,registrator发现增加了一个容器的时候,会通知consul server要更新,consul server使用consul template模板更新

Docker consul自动发现服务架构的构建

  • 每个提供服务的节点上都要部署和运行consul的agent
  • consul agent有两种运行模式:server和client
  • server和client只是consul集群层面的区分,与搭建在cluster之上的应用服务无关

二、模拟实验

consul节点 192.168.153.40 Docker-ce、Consul、Consul-template、nginx
web节点 192.168.153.60 Docker-ce

consul节点

mkdir consul

cd consul/        #拉入软件包

unzip consul_0.9.2_linux_amd64.zip -d /usr/bin

consul agent \
-server \
-bootstrap \
-ui \
-data-dir=/var/lib/consul-data \
-bind=192.168.153.40 \
-client=0.0.0.0 \
-node=consul-server01 &> /var/log/consul.log &

jobs

##查看集群信息
consul members

consul info | grep leader

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值