一架梯子,一头程序猿,仰望星空!

Consul教程


Consul是微服务架构中,解决服务发现、配置中心的分布式中间件。

特性

  • 服务发现: 解决在分布式环境中,如何找到可用的服务地址的问题,支持通过DNS和HTTP查询服务地址。
  • 健康检查: 定时监控服务是否正常,对于异常的服务会主动下线。
  • 键值存储: 配置中心解决方案,是一种key/value存储结构,区别就是key是以目录树结构形式组织的,可以用来存储系统配置信息。
  • 多数据中心: 支持多数据中心部署。

架构

consul是分布式、高可用的系统,下图是单数据中心的部署架构。

说明:

consul主要有server和client两种组件组成。

server负责核心数据的存储和处理请求,server可以部署多个实例(通常推荐3-5个),server只有一个实例是leader实例,就是主节点,主节点是自动选举产生的,主节点负责处理数据的写入处理,同时将数据同步至其他server节点。

client负责跟server通信,处理转发服务注册、服务发现请求到server节点,client还负责服务的健康检查,client节点也可以部署多个实例,甚至每个微服务节点都部署一个client实例。

多数据中心架构看下面官网给出的截图: