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

相关文章:

  • 一个多功能的文件分享工具--zdir手动部署教程
  • Tesollo DeltoGripper DG-5F具有抓握和操纵能力的灵巧手
  • Swift与C++混编深度解决方案:手动桥接 vs SwiftyCPP框架性能终极评测
  • 垂直领域大模型构建:法律行业“类ChatGPT”系统的训练与落地
  • 快手可灵招海外产品运营实习生
  • 亚矩阵云手机智能定位:助力Snapchat矩阵账号的本地化内容运营穿透技术
  • 【光学神经网络与人工智能应用专题】
  • 禾赛激光雷达AT128P/海康相机(2):基于欧几里德聚类的激光雷达障碍物检测
  • 【科研绘图系列】R语言绘制多种小提琴和云雨图
  • Kubernetes 简介
  • 初步学习WPF-Prism
  • 深入解析:Unity、Unreal Engine与Godot引擎中的Uniform变量管理
  • [ORACLE数据库] ORACLE 的 PL/SQL 块
  • 摄像头模块在运动相机中的应用
  • arcgis-提取范围中最大占比面积的信息或唯一值
  • 面试问题详解四:Qt 多线程与信号槽机制
  • Day09 Go语言深入学习(1)
  • 8.19作业
  • 工业相机基本知识解读:像元、帧率、数据接口等
  • 视觉采集模块的用法
  • HTML应用指南:利用GET请求获取全国新荣记门店位置信息
  • BEV:隐式相机视角转换-----BEVFormer
  • C#/.NET/.NET Core技术前沿周刊 | 第 50 期(2025年8.11-8.17)
  • 【leetcode 3】最长连续序列 (Longest Consecutive Sequence) - 解题思路 + Golang实现
  • Selenium使用指南
  • Ubuntu conda虚拟环境下pip换源
  • jsPDF 不同屏幕尺寸 生成的pdf不一致,怎么解决
  • 软件测试-Selenium学习笔记
  • LeetCode 134.加油站:贪心策略下的环形路线可行性判断
  • 【基础-判断】用户在长视频、短视频、直播、通话、会议、拍摄类应用等场景下,可以采用悬停适配在折叠屏半折态时,上屏进行浏览下屏进行交互操作