consul特性
consul是分布式的、高可用、横向扩展的。consul提供的一些关键特性:
service discovery:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务,例如saas提供的也可以一样注册。
health checking:健康检测使consul可以快速的告警在集群中的操作。和服务发现的集成,可以防止服务转发到故障的服务上面。
key/value storage:一个用来存储动态配置的系统。提供简单的HTTP接口,可以在任何地方操作。
multi-datacenter:无需复杂的配置,即可支持任意数量的区域。
Consul架构
Consul的微服务一般都是集群,集群由一个个的Consul节点组成,在这些Consul节点里面,分为两种角色,Server 以及 Client。
consul节点在启动时可以定义自身角色,client、server两种。
client节点只负责转发外部请求,所有注册到当前节点的服务会被转发到server节点,向server节点进行键值对的读/写,本身是不持久化这些信息,是无状态的;
server节点的职责是使用raft协议保证数据一致性,响应客户端的请求,维护集群状态,与其他数据中心交互,另外所有的信息持久化到本地,这样遇到故障,信息是可以被保留的。
节点之间通过gossip广播协议(谣言协议),进行节点之间的数据交互,最终大家达到一致。
consul概念
Agent: Consul集群中长时间运行的守护进程,以consul agent 命令开始启动. 在客户端和服务端模式下都可以运行,可以运行DNS或者HTTP接口, 它的主要作用是运行时检查和保持服务同步。
Client: 客户端, 无状态, 以一个极小的消耗将接口请求转发给局域网内的服务端集群.
Server: 服务端, 保存配置信息, 高可用集群, 在局域网内与本地客户端通讯, 通过广域网与其他数据中心通讯. 每个数据中心的 server 数量推荐为 3 个或是 5 个.
Datacenter: 数据中心,多数据中心联合工作保证数据存储安全快捷
Consensus: 一致性协议使用的是Raft Protocol
RPC: 远程程序通信
Gossip: 基于 Serf 实现的 gossip 协议,负责成员、失败探测、事件广播等。通过 UDP 实现各个节点之间的消息。分为 LAN 上的和 WAN 上的两种情形。
consul
微服务 consul使用
最新推荐文章于 2024-02-18 17:37:32 发布
本文详细介绍了Consul的特性,包括服务发现、健康检查、键值存储和多数据中心支持。Consul采用Server和Client两种角色的节点,通过Gossip协议实现数据一致性。文章还涵盖了Consul的基本概念如Agent、Client、Server、Datacenter和一致性协议Raft。此外,提供了Linux和Windows下的安装步骤,并展示了如何启动和配置Consul代理,包括服务的注册与反注册。
摘要由CSDN通过智能技术生成