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从中任选一个发起请求(负载均衡)

相关推荐
步、步、为营3 天前
.net consul服务注册与发现
.net·consul
化名三爷18 天前
若依框架Consul微服务版本
微服务·consul·若依微服务·若依框架·consul微服务
观无1 个月前
Ocelot\Consul\.NetCore的微服务应用案例
.netcore·consul
王伯爵2 个月前
Spring Boot 应用程序中配置使用consul
spring boot·consul·java-consul
迷茫运维路2 个月前
K8S+Prometheus+Consul+alertWebhook实现全链路服务自动发现与监控、告警配置实战
运维·kubernetes·go·prometheus·consul
小沈同学呀2 个月前
微服务注册中心选择指南:Eureka vs Consul vs Zookeeper vs Nacos
微服务·zookeeper·eureka·nacos·consul
weixin_420947642 个月前
windows golang,consul,grpc学习
windows·golang·consul
路由侠内网穿透2 个月前
本地部署开源流处理框架 Apache Flink 并实现外部访问
大数据·网络协议·tcp/ip·flink·服务发现·apache·consul
winyh53 个月前
基于Golang的微服务——Consul
微服务·golang·consul
啊宝儿姐3 个月前
ASP.NET 微服务网关 Ocelot+Consul+Skywalking
微服务·asp.net·consul