Consul 核心概念

功能

提供网格服务解决方案, 包括服务发现, 配置, 健康检查, 多数据中心, TLS 通信服务.

类似功能服务, 以及相关服务:

  • ZooKeeper, doozerd, etcd
  • Chef, Puppet
  • Nagios, Sensu
  • SkyDNS
  • SmartStack
  • Serf
  • Eureka
  • Istio
  • Envoy

学习中心: learn.hashicorp.com

安装

三种安装方法: 预编译版本, 源码安装, docker.

docker, 预编译版本安装最方便, 基于加密的下载, SHA256 的校验保证安全.

源码安装是需要 Golang, Git 的支持的.

端口说明

需要开启 6 个端口:

  1. 8600 DNS 服务(TCP,UDP) 解析 DNS 查询
  2. 8500 HTTP API(TCP) 客户端沟通端口
  3. 8501 HTTPS API(默认不开启)
  4. 8502 gRPC API(默认不开启)
  5. 8301 LAN(TCP,UDP) 内网 gossip, 所有客户端都需要
  6. 8302 WAN(TCP,UDP) 外网服务器之间 gossip 通信,
  7. 8300 服务器 RPC 地址, 处理其他代理过来的查询
  8. 21000 最小 sidecar
  9. 21255 最大 sidecar

数据中心

支持客户端与服务器模式. 服务器负责运行共识协议, 存储集群状态. 客户端无状态, 严重依赖服务器节点.

运行与关闭

1
2
3
4
5
consul agent -data-dir=/consul/data \
-node NodeName \
-datacenter dc1 \
-server \
-client=0.0.0.0
1
kill -INT consul_pid

核心概念

  • Agent 代理
  • Client 客户端
  • Server 服务器
  • DataCenter 数据中心
  • Consensus 共识
  • Gossip 协议, 由 Serf 实现该协议, 提供成员资格, 故障检测和事件广播
  • LAN 局域网
  • WAN 广域网
  • RPC 远程调用
Donate - Support to make this site better.
捐助 - 支持我让我做得更好.