Consul简介
Consul是由HashiCorp基于Go语言开发的支持多数据中心的分布式高可用服务发布和注册软件, 采用Raft算法保持服务的一致性, 且支持健康检查,Consul和Eureka的侵入式服务中心不同的是, Consul是以独立的软件形式运行, 对项目侵入性小, 更方便部署。
Consul是微服务架构中,解决服务发现、配置中心的分布式中间件。
Consul特性
- 服务发现:解决在分布式环境中,如何找到可用的服务地址的问题,支持通过DNS和HTTP查询服务地址。
- 健康检查:定时监控服务是否正常,对于异常的服务会主动下线。
- 键值存储:配置中心解决方案,是一种key/value存储结构,区别就是key是以目录树结构形式组织的,可以用来存储系统配置信息。
- 多数据中心:支持多数据中心部署。
Consul架构
consul是分布式、高可用的系统,下图是单数据中心的部署架构。
说明:
consul主要有server和client两种组件组成。
server负责核心数据的存储和处理请求,server可以部署多个实例(通常推荐3-5个),server只有一个实例是leader实例,就是主节点,主节点是自动选举产生的,主节点负责处理数据的写入处理,同时将数据同步至其他server节点。
client负责跟server通信,处理转发服务注册、服务发现请求到server节点,client还负责服务的健康检查,client节点也可以部署多个实例,甚至每个微服务节点都部署一个client实例。
作者:Jeebiz 创建时间:2025-04-12 14:44
最后编辑:Jeebiz 更新时间:2025-04-13 16:32
最后编辑:Jeebiz 更新时间:2025-04-13 16:32