当前位置: 首页 > 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.xdnf.cn/news/1328941.html

相关文章:

  • 信号以及共享内存
  • strlen 函数的使用与模拟实现
  • 算法——质数筛法
  • 106、【OS】【Nuttx】【周边】文档构建渲染:安装 Sphinx 扩展(下)
  • yolov5s.onnx转rk模型以及相关使用详细教程
  • 玳瑁的嵌入式日记D20-08019(数据结构)
  • 安装DDNS-go
  • Linux操作系统编程——进程间的通信
  • RocketMq消费者动态订阅topic
  • RK3568 Linux驱动学习——Linux设备树
  • Linux下Mysql命令,创建mysql,删除mysql
  • Win/Linux笔记本合盖不睡眠设置指南
  • 小程序插件使用
  • RWA加密金融高峰论坛星链品牌全球发布 —— 稳定币与Web3的香港新篇章
  • Vue 2 项目中快速集成 Jest 单元测试(超详细教程)
  • 哈希:两数之和
  • 从零开始的云计算生活——第四十六天,铁杵成针,kubernetes模块之Configmap资源与Secret资源对象
  • 【技术揭秘】AI Agent操作系统架构演进:从单体到分布式智能的跃迁
  • 告别手写文档!Spring Boot API 文档终极解决方案:SpringDoc OpenAPI
  • 大数据数据库 —— 初见loTDB
  • 视觉采集模块的用法
  • A股大盘数据-20250819 分析
  • 云原生俱乐部-shell知识点归纳(1)
  • 力扣57:插入区间
  • 决策树剪枝及数据处理
  • AI 药物发现:化学分子到机器学习数值特征的转化——打通“化学空间”与“模型空间”关键路径
  • 【Git 子模块与动态路由映射技术分析文档】
  • Matplotlib数据可视化实战:Matplotlib子图布局与管理入门
  • 疏老师-python训练营-Day50预训练模型+CBAM注意力
  • PCL+Spigot服务器+python进行MC编程(使用Trae进行AI编程)---可以生成彩虹