千家信息网

Consul术语和命令有哪些

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,本篇内容主要讲解"Consul术语和命令有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Consul术语和命令有哪些"吧!AgentConsul集群中
千家信息网最后更新 2025年11月10日Consul术语和命令有哪些

本篇内容主要讲解"Consul术语和命令有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Consul术语和命令有哪些"吧!

Agent

Consul集群中在后台长时间运行的进程就是代理。代理通过consul agent启动。代理能够以客户端或服务端模式运行。因为集群中每个节点都必须有一个代理,因此将节点称为客户端或服务器更为简单。所有的代理都可以有DNSHTTP接口,负责健康检查和保持服务同步。

Client

客户端是将所有RPC请求转发到服务端的代理。客户端是相对无状态的。客户端跑的唯一后台程序就是参与LAN的gossip池。这种活动资源开销最小,并且仅消耗少量的网络带宽。

Server

服务端是有扩展职责集的代理,扩展功能包括参与Raft仲裁,维护集群状态,响应RPC请求,与其他数据中心交换WAN gossip,以及将查询转发给集群leader或远程数据中心。

Datacenter

数据中心是一个私有的,低延迟的,高带宽的网络环境。当然这不包括穿越公网的通信,但出于我们的目的,单个EC2区域内的多个可用区将被视为单个数据中心的一部分。

Consensus

共识协议就是集群选举leader的一致性协议和交易顺序的协议。由于这些事务适用于有限状态机,因此我们对一致性的定义意味着复制状态机的一致性。共识在Wikipedia上有更详细的描述,后面的文章会说Consul的实现。

Gossip

Consul建立在Serf之上,Serf提供了完整的,可用于多种目的Gossip协议。Serf提供了成员管理,故障检测和事件广播等功能。后面会重点说Gossip协议。Gossip会涉及到随机的节点到节点的UDP通信。

LAN Gossip

指的是局域网Gossip池,其中包含的节点都位于同一局域网或数据中心上。

WAN Gossip

指仅包含服务端的WAN Gossip池。这些Consul服务端主要位于不同的数据中心上,一般通过Internet或广域网进行通信。

RPC

远程过程调用。一种请求/响应模式,允许客户端向服务器发出请求。

serf

serf 和Consul一样,也是出自 Hashicorp 的开源项目, 实现了去中心化的 gossip协议,其中 gossip 协议定义了一种类似病毒感染的消息传播过程。一些著名的开源项目,如 Docker 和这里说的 Consul,网络管理和服务发现的核心组件是基于 serf 实现的,然而它们背后的 serf 似乎还鲜为人知,一方面其复杂的理论以及不完善的文档让人望而却步;另一方面,gossip 协议天然的数据 弱一致性 也制约了 serf 的使用场景。

创建一个数据中心,需要先创建一个服务端集群。创建一个服务端的推荐方法是使用-bootstrap-expect选项。此选项是创建的Consul服务器节点的预期数量,并在有那么多服务器可用时自动引导。为避免出现不一致和脑裂(多个服务器将其视为leader的集群)情况,必须要把-bootstrap-expect指定相同的值,或者在所有服务器上完全不指定任何值。只有指定值的服务器才会尝试引导群集。

假设正在启动一个三个服务节点的集群。可以通过分别提供-bootstrap-expect 3的标识来启动节点A,节点B和节点C。节点启动后,可以在服务输出中看到一条警告消息。

[WARN] raft: EnableSingleNode disabled, and no known peers. Aborting election.

警告表明节点期望有2个对等节点,但还不知道。下篇文章会介绍如何启动一个三个几点的Consul集群,到时候会用到这个命令。

接上一篇文章的启动命令

docker run \    -d \    -p 8500:8500 \    -p 8600:8600/udp \    --name=badger \    consul agent -server -ui -node=server -bootstrap-expect=1

之前在创建Consul节点的时候,指定了bootstrap-expect的值为1,这里就是一个单节点的Consul集群,因为是实验性的课程,所以这里设置了1,1个节点也是可以的,同样可以作为服务使用,只是在生产环境别这样设置,sh

端口

一个服务端Consul节点最多需要6个不同的端口才能正常工作,某些端口需要使用TCPUDP或同时使用这两种协议。

在运行Consul之前,应该确保可以访问以下绑定端口。

用途默认端口
DNS: DNS服务 (TCP 或者 UDP)8600
HTTP: HTTP接口(只有TCP)8500
HTTPS: HTTPs接口建议端口 ,默认关闭(8501)*
gRPC:gRPC接口建议端口,默认关闭 (8502)*
LAN Serf: 局域网端口(TCP和UDP)8301
Wan Serf:Serf WAN端口(TCP和UDP)8302
服务器:服务器RPC地址(仅TCP)8300
Sidecar Proxy Min:包含的最小端口号,用于自动分配的sidecar服务注册。21000
Sidecar Proxy Max: 包含的最大端口号,用于自动分配的sidecar服务注册。21255

端口用途

  • DNS接口 用于解析DNS查询

  • HTTP API 客户端通过HTTP API请求服务端

  • HTTPS API(可选)默认情况下处于关闭状态,但8501端口是多种工具默认使用的。

  • gRPC API(可选)当前,gRPC仅用于将xDS API公开给Envoy代理。默认情况下它是关闭的,但是端口8502是各种工具默认使用的。在-dev模式下默认为8502。

  • Serf LAN 用于处理LAN中的gossip协议。所有代理都需要。

  • Serf WAN 服务器广域网服务器使用它来通过广域网传播到其他服务器。从Consul 0.8开始,WAN连接泛洪功能要求Serf WAN端口(TCP / UDP)在WAN和LAN接口上进行监听。

  • RPC 服务器用来处理来自其他代理(agent)的请求。

到此,相信大家对"Consul术语和命令有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

服务 节点 服务器 端口 集群 代理 数据 客户 客户端 数据中心 接口 命令 状态 一致 一致性 就是 术语 功能 局域 局域网 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 编辑服务器怎么用 惠州erp软件开发市场价 盘龙区专业性软件开发市场报价 四川 软件开发王坤 列存储数据库关键技术综述 搭建网站服务器的简单框架 中兴租房软件开发 宜兴加工软件开发项目信息 联通网络技术岗笔试题 合易网络技术有限公司怎么样 南阳市宛城区网络安全进校园 学做软件开发多少钱 吉林ai人工智能服务器 8台3080显卡云服务器租用 网络技术服务公司 报税 专职计算机网络技术的就业前 广州服务器数据恢复 浦东新区服务器设备回收哪里有 数据库的升级表结构的修改 网络安全决策专家查询 黄浦区互联网软件开发厂家范围 软件开发做机器人有什么方向 快速模型是不是软件开发模型 网络安全微课作品展示 网络安全审查要关注什么 雄安网络安全研讨会 了解网络安全有关的法律法规 西电网络安全学院 招聘 阿里云服务器main进程 苹果电脑显示没有连接到服务器
0