参考资料

  1. ZooKeeper 是一个开源的分布式协调服务
  2. BusyBox 是一个集成了多个 Unix 常用工具的轻量级软件
  3. Cloudreve是一款自托管的网盘系统,支持对接OnlyOffice实现在线文档编辑功能
  4. Clojure 是一种运行在 JVM 上的 Lisp 方言
  5. Matomo(原名 Piwik)是一个开源的网站分析平台
  6. DPanel 是一个轻量级的 Web 面板工具
  7. ROS (Robot Operating System) 简介
  8. rspamd 是一个快速、开源的垃圾邮件过滤系统

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"

声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。