首页 > 其他分享 >Consul原理介绍

Consul原理介绍

时间:2023-09-04 18:06:49浏览次数:124  
标签:Producer Consul 介绍 Server Client 注册 原理 leader


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

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

注册中心对比

Consul原理介绍_数据中心

Consul特点

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

架构

Consul原理介绍_数据中心_02


Consul原理介绍_数据中心_03

角色

  • 数据中心
  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台

原理

Consul原理介绍_Consul_04

服务注册

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

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

服务调用

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


标签:Producer,Consul,介绍,Server,Client,注册,原理,leader
From: https://blog.51cto.com/u_16225007/7353765

相关文章

  • plumelog介绍与应用-一个简单易用的java分布式日志系统
    官方文档:http://www.plumelog.com/zh-cn/docs/FASTSTART.html简介无代码入侵的分布式日志系统,基于log4j、log4j2、logback搜集日志,设置链路ID,方便查询关联日志基于elasticsearch作为查询引擎高吞吐,查询效率高全程不占应用程序本地磁盘空间,免维护;对于项目透明,不影响项目本身运行无......
  • 自我介绍+软工5问
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade21-34/这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13015这个作业的目标自我介绍;提问软工问题;学习使用Markdown排版;创建Github、Git账号自我介绍我叫......
  • 自我介绍+软工5问
    这个作业属于哪个课程计科21级12班这个作业要求在哪里自我介绍+软工5问这个作业的目标学习使用github与写博客自我介绍我是计算机学院21级计算机科学与技术专业的一名学生。我的兴趣有:长跑,听歌,游戏。为数不多还保存着的照片我想弄懂的问题团队软件开发......
  • 自我介绍+软工5问
    这个作业属于哪个课程软件工程这个作业要求在哪里自我介绍+软工5问这个作业的目标<创建博客园账户并在学习markdown后编写第一个博客;初步了解GitHub的使用;大致浏览课本,并提出自己的问题>自我介绍  我叫张震,是广东工业大学计算机学院计算机科学与技术专业21级......
  • Eureka的原理分析
     ......
  • 软件测试 | Selenium-RC工作原理
    我们描述Selenium-RC组件是如何运转的,以及它们在测试案例运行过程中扮演什么角色。1.RC组件Selenium-RC组件包括:SeleniumServer,它负责启动和关闭浏览器,解释和运行从测试程序传来的Selenium命令,就像一个HTTP代理一样。截取和验证浏览器与待测应用(AUT)之间的HTTP消息;客户端库文件提供......
  • 安卓so加固功能介绍-导入表保护
    VirboxProtector支持对安卓可执行程序与so库加固保护,新版本支持了导入表保护,提升so库加固的安全性!功能介绍导入表保护指对程序引用的外部符号的名称进行处理,隐藏模块间的函数调用,防止使用ida等反编译工具可直接查看符号名称,极大的增强了安全性加密效果保护前使用ida反编译效果......
  • Unity UGUI的Dropdown(下拉菜单)组件的介绍及使用
    UnityUGUI的Dropdown(下拉菜单)组件的介绍及使用1.什么是Dropdown组件?Dropdown(下拉菜单)是UnityUGUI中的一个常用组件,用于在用户点击或选择时显示一个下拉菜单,提供多个选项供用户选择。2.Dropdown组件的工作原理Dropdown组件由两部分组成:一个可点击的按钮和一个下拉菜单。当......
  • Go开始:Go基本元素介绍
    本文深入探讨了Go编程语言中的核心概念,包括标识符、关键字、具名函数、具名值、定义类型、类型别名、包和模块管理,以及代码块和断行。这些元素是构成Go程序的基础,也是编写高质量代码的关键。关注TechLeadCloud,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服......
  • Bandicam下载 最新版下载安装 中文版介绍
    高清视频录制工具(Bandicam)是一款由韩国开发的高清录制视频的工具,别看高清视频录制工具(Bandicam)体积小巧,但是功能确实相当不错,其不但操作十分简单,而且录制出来的效果非常高清,让我们可以观看到高质量的视频。软件地址:看置顶贴解决在【录制设置】->【音频】的关于麦克风音量调整的......