如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
基于Python发布/订阅的Sentinel主节点变更通知器,通过HAProxy的Runtime API更新HAProxy配置
只需创建一个简单的HAProxy配置,它就会为您处理所有事情
global
stats socket /var/run/haproxy/haproxy.sock user haproxy group haproxy mode 660 level admin
stats timeout 2m
frontend redis_master
bind *:6379
default_backend redis_master
backend redis_master
balance source
hash-type consistent
这样就足够了
要运行此项目,请安装poetry(并运行poetry install),或使用direnv,它会自动处理依赖项和项目本身的安装
poetry``poetry install``direnv
poetry run haproxy-redis-sentinel是我们的命令入口点
poetry run haproxy-redis-sentinel
--sentinel-host``-h``TEXT``SENTINEL_HOST``127.0.0.1
--sentinel-port``-p``INTEGER``SENTINEL_PORT``26379
--sentinel-password``-P``TEXT``SENTINEL_PASSWORD``None
--master-name``-m``TEXT``MASTER_NAME``mymaster
--haproxy-socket``TEXT``HAPROXY_SOCKET``/var/run/haproxy/haproxy.sock
--haproxy-backend``TEXT``HAPROXY_BACKEND``redis_master
--haproxy-server-name``TEXT``HAPROXY_SERVER_NAME``current_master
项目根目录下存在compose.yaml文件
设置/修改环境变量并运行,或将此项目作为服务添加到您现有的设置中
[!IMPORTANT] 您需要在独立的容器/服务器中运行HAProxy
您需要在独立的容器/服务器中运行HAProxy
helm repo add haproxy-redis-sentinel https://parmincloud.github.io/haproxy-redis-sentinel/
helm repo update
创建一个名为values.yaml的文件,并根据默认值自定义配置
values.yaml
helm install haproxy-redis-sentinel haproxy-redis-sentinel/haproxy-redis-sentinel --values ./values.yaml
HAProxy是一款高性能的优秀TCP代理和负载均衡器
但它无法动态处理主节点变更,通过Runtime API我们可以以编程方式进行配置
与那些从零开始编写TCP代理的类似项目不同,我们不想重复造轮子,而是利用HAProxy的强大功能 :)
借助Redis发布/订阅功能,我们能够实时感知主节点变更,并通过断开所有连接并相应更改服务器地址,将变更传播到HAProxy
来自真实用户的反馈,见证轩辕镜像的优质服务