参考资料

  1. Rocket.Chat 是一款开源的团队聊天平台
  2. MediaWiki 是一个免费开源的维基软件
  3. ClearLinux 是由 Intel 开发的一个基于 Linux 的操作系统
  4. 宝塔docker是一款基于Web的服务器管理软件
  5. PlayEdu是一款开源的企业在线培训系统
  6. DPanel 是一个轻量级的 Web 面板工具
  7. 青龙面板(QingLong)是一款开源的、基于Web的定时任务管理平台
  8. Cloudreve 启用 JWT(JSON Web Tokens)加密通信

Consul 是 HashiCorp 公司开发的服务网格解决方案,

Consul 简介

Consul 是 HashiCorp 公司开发的服务网格解决方案,提供服务发现健康检查键值存储多数据中心支持功能。基于 Raft 协议实现分布式一致性,支持跨平台运行。

核心特点

  1. 服务发现:支持 DNS/HTTP 接口查询服务状态

  2. 健康检查:主动监测服务健康状态

  3. KV 存储:分布式键值数据存储

  4. 多数据中心:原生支持多数据中心部署

  5. 安全通信:TLS 证书加密和 ACL 访问控制

  6. 多协议支持:兼容 gRPC、HTTP、DNS 协议

最新版本

  • 当前版本:1.16 (2023年发布)

  • 更新内容

    • 增强 Envoy 集成支持

    • 改进 ACL 系统性能

    • 新增 HCP Consul 托管服务支持

下载资源

  • 官网地址:https://www.consul.io

  • 镜像下载:https://releases.hashicorp.com/consul/

  • 文档地址:https://developer.hashicorp.com/consul/docs

Docker 安装示例

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

YAML 配置示例 (config.yml)

datacenter: "dc1"
server: true
bootstrap_expect: 3
node_name: "node1"
ui: true
bind_addr: "0.0.0.0"
client_addr: "0.0.0.0"
data_dir: "/consul/data"
log_level: "INFO"
ports:
  http: 8500
  dns: 8600

常见问题

  1. 端口冲突:确保 8300-8302、8500、8600 端口未被占用

  2. ACL 错误:启动时添加 -acl-enable 参数

  3. 节点无法加入集群:检查 -retry-join 参数和网络连通性

  4. 数据持久化:Docker 需挂载 /consul/data 目录

  5. UI 无法访问:确认配置中 ui=trueclient_addr="0.0.0.0"