当前位置: 首页 > news >正文

consul-基础概念


一.关于consul

consul是一个通过golang开发的开源项目。通常用于发现和配置基础架构中服务,提供以下关键功能:

1. 服务发现: consul可以提供服务(如API或mysql)管理,其他client可以使用consul发现服务的提供者。使用dns或http,应用可以轻松找到各自所依赖的服务。
2. 健康检查: consul客户端可以提供任何数量的健康检查,或者与相关服务关联(如web服务返回200的状态,本地资源使用率(内存90%?)高等),运维同学可以通过相关信息来监视集群运行3. 状态,服务发现组件使用监听等指标判断节点可用性,将流量从不健康等节点中切走。
4. key-value存储: 应用程序可以使用consul等key/value存储功能,用于动态配置,功能标签,协调,master选举等功能。通过http api 进行操作。
5. 多数据中心: consul支持多个数据中心。意味着不同网络中心(两个server要联通),不需要额外单独。且一个数据中心的网络连接问题或故障不会影响其他数据中心的可用性。

consul 基础架构: 

 consul是一个分布式,高可用的系统。

每个节点都需要运行一个agent,agent有两种模式,分别为server和client,每个数据中心官方建议需要3或5个server节点以保证数据安全,同时保证server-leader的选举能够正确的进行。

agent(client) : 负责监控检查节点上都服务及节点自身,所有注册到当前节点的服务会被转发到SERVER,本身是不持久化相关信息。

server: 和client交互,进行数据持久化(数据存储/复制)。

server-leader: server会自己内部选举出一个leader,负责信息同步(同步注册的信息给其他server),健康检测(各节点)。


每个数据中心都运行consul服务集群, 当发生跨数据中心服务发现或配置请求时,本地consul服务器将请求转发给远程数据中心并返回结果。

  在consul 方案中,每个提供服务的node上都要部署和运行consul的agent,所有印象consul agent节点的集合构成consul cluster。 consul agent有两种运行模式: server和client,以server模式运行的consul agent用于维护consul集群的状态。对于一个数据中心的consul cluster,官方建议有3 or 5个运行在server mode的agent(主要考虑其单点的故障问题,及整体性能Bootstrap a Consul datacenter (VM) | Consul | HashiCorp Developer)。client mode只负责将请求转发给server agent, cluster节点数量不限。

一个cluster的节点容错性如下:

服务器

法定人数

失败容忍

1

1

0

2

2

0

3

2

1

4

3

1

5

3

2

可以发现,我们设置3 or 5台是比较合理的。

http://www.dtcms.com/a/338676.html

相关文章:

  • Leetcode 343. 整数拆分 动态规划
  • 【教程】在 VMware Windows 虚拟机中使用 WinPE 进行离线密码重置或取证操作
  • 通信急先锋,稳联技术Profinet与EtherCAT锂电行业应用案例
  • 2025年5月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(六)
  • AMPAK正基科技系列产品有哪些广泛应用于IOT物联网
  • Git的初步学习
  • GStreamer无线图传:树莓派到计算机的WiFi图传方案
  • 反向代理实现服务器联网
  • RNN(循环神经网络)和Transformer是处理自然语言处理(NLP)任务区别
  • 【深度学习新浪潮】如何利用多模态大模型优化结构力学性能?
  • 「内力探查术」:用 Instruments 勘破 SwiftUI 卡顿迷局
  • 开源 C++ QT Widget 开发(一)工程文件结构
  • linux系统装google chrome,amd64
  • Qt——文件操作
  • Vercel v0 iOS版重磅发布:AI驱动的移动开发新篇章
  • SWMM排水管网水力、水质建模及在海绵与水环境中的应用
  • 纯Qt结合ffmpeg实现本地摄像头采集/桌面采集/应用程序窗口采集/指定采集帧率和分辨率等
  • 数据仓库OLTPOLAP维度讲解
  • Qt事件处理机制详解
  • [激光原理与应用-308]:光学设计 - 266皮秒深紫外激光器设计图纸示例解析(基于工程实现与专利技术)
  • 《C++进阶之STL》【二叉搜索树】
  • 11.Ansible自动化之-内容集管理
  • 云原生俱乐部-shell知识点归纳(1)
  • MFC,C++,海康SDK,回调,轮询
  • 借助AI将infoNES移植到HarmonyOS平台的详细方案介绍
  • “道法术器” 思维:解析华为数字化转型
  • Springboot使用Selenium+ChormeDriver在服务器(Linux)端将网页保存为图片或PDF
  • 如何在未来进一步推动NLP技术的发展?
  • Java高级面试实战:Spring Boot微服务与Redis缓存整合案例解析
  • 【牛客刷题】岛屿数量问题:BFS与DFS解法深度解析