Consul原理介绍

官方文档:https://www.consul.io/docs

Raft动画演示:http://thesecretlivesofdata.com/raft/

注册中心对比

Consul特点

服务发现、健康检查、Key/Value存储、安全服务通信(TLS证书)、多数据中心

架构


角色

  • 数据中心
    1. 数据中心内,Client和Server通过LAN Gosssip 进行通信,同步集群节点信息,其保障了拓扑变动以及控制信号的及时传递
    2. 数据中心之间通过WAN Gosssip通信
  • Client
    1. 每个服务部署一个Client
  • Server
    1. 通过Raft算法选举,实现数据一致
    2. 当RPC请求到达非leader时,请求会被转发到leader上。
    3. 注册信息到达leader时,通过Raft向follower同步,超过半数follower同步成功时才认为注册成功。
    4. 建议部署3-5台

原理

服务注册

Producer启动时,向Consul Client注册,Client通过RPC将注册信息转发到Server,服务信息保存在Server各个节点中,通过Raft实现一致性。

Client定期向Producer发送健康检查。检查通过才会注册。

服务调用

Consumer向Consul Client请求Producer,Client将请求转发到Server,Server返回Producer的IP、Port的临时表,Consumer从中任选一个发起请求(负载均衡)

相关推荐
七夜zippoe6 天前
微服务架构:FastAPI实战指南与Kubernetes部署
微服务·架构·负载均衡·fastapi·consul
2501_9417987312 天前
从分布式事务到可靠一致性的互联网工程语法实践与多语言探索
时序数据库·consul
运维开发小白23 天前
服务发现中间件ConSul的操作指南
中间件·服务发现·consul
华大哥1 个月前
spring cloud微服务实战:consul+Feign/Ribbon服务注册和远程调用
spring cloud·微服务·ribbon·consul·java-consul
juma90021 个月前
一维光栅拓扑BICs与COMSOL模拟的COMSOL光子晶体超表面单向辐射
consul
ะัี潪ิื1 个月前
springboot加载本地application.yml和加载Consul中的application.yml配置反序列化LocalDate类型差异
spring boot·consul·java-consul
一个帅气昵称啊1 个月前
.Net微服务网关注册和管理(基于Consul + Nginx实现)
微服务·.net·consul
ALex_zry1 个月前
Consul 的使用搭建注意事项
网络协议·rpc·consul
询问QQ688238861 个月前
三电平NPC逆变器矢量控制(SVPWM)matlab2021a 采用矢量控制,大扇区、小扇区、...
consul
垦***耪1 个月前
基于LabVIEW的滤波器设计及学习交流初探
consul