BarkLB: Bark 推送服务的负载均衡与高可用 - VEX
BarkLB 是一个用于增强 Bark 推送服务高可用性的负载均衡工具。通过配置多个 Bark 服务节点, BarkLB 可随机选择节点发送通知,并在节点下线时自动切换至其他可用节点。支持 Docker 部署,提供健康检查和在线服务器列表更新功能,一个推送 key 即可管理多个后端服务,简化了服务器注册和配置变更操作。 2025-2-15 01:6:10 Author: v2ex.com(查看原文) 阅读量:15 收藏

介绍

Bark 推送服务通常来说是单节点运行的, BarkLB可以通过配置多个服务器地址尽可能保证推送通知送达.

快速开始

需配合已有 bark 原版服务器使用, 并确保 barklb 可以访问原版 bark 服务.

通过 Docker 运行:

docker run -d --restart=always \
  --name barklb \
  -p 18089:8089 \
  -e BARK_NODES="https://bark-origin-server1:port,https://bark-origin-server2:port"
  -v ${HOME}/barklb-data:/barklb-data \
  martin0313/barklb:latest

启动成功后在 bark app 中添加服务器, 地址为 barklb 运行的地址和端口. 若服务端添加成功推送 key 会显示为LB-xxxxxxxx.

随后其余使用方式与原版 bark 无异.

BARK_NODES 参数指定了两个原版 bark 服务节点. barklb 会在两个节点中随机选择节点发送通知. 若节点下线则尝试采用其他节点. 

可以添加配置`https://api.day.app`, 这是 bark 官方提供的服务器地址.

功能与特性

目前仅对接了原版 bark 服务端的 post body 推送形式

  1. 负载均衡策略为简单的随机策略, 主要解决的问题为尽可能保证高可用.
  2. 健康检查会及时更新在线服务器列表.
  3. 一个推送 key: LB-xxxxxxx 即可使用多个 bark 服务后端. 原版服务器的注册,删除,配置变更等均由barklb自动操作.
  4. bark 服务节点配置变更: 修改启动参数BARK_NODES, 服务端重启即可, 手机 app 无需重新注册和其他额外操作.

链接

Github: https://github.com/mty0313/barklb

DockerHub: https://hub.docker.com/r/martin0313/barklb


文章来源: https://v2ex.com/t/1111219#reply4
如有侵权请联系:admin#unsafe.sh