feat(server): WebSocket 广播支持 Redis Pub/Sub 跨节点扇出(REDIS_ADDR 可选开关)
- 新增 ws.EventBus 接口与 RedisBus 实现;Hub 五类广播改为发布信封、各节点订阅后本地投递 - 单实例不设 REDIS_ADDR 保持进程内直投;Redis 不可用时自动兜底本地投递 - config 新增 REDIS_ADDR/REDIS_PASSWORD/REDIS_DB;dev compose 增加 --profile redis (6380) - prod compose 与 .env.prod.example 增加多副本配置说明;README 更新已知边界 - 已用双实例 + 真实 Redis 实测跨节点推送;新增总线单测(含发布失败兜底),-race 通过
This commit is contained in:
@@ -42,6 +42,19 @@ services:
|
||||
echo 'MinIO bucket kefu ready';
|
||||
"
|
||||
|
||||
# 可选:跨节点 WebSocket 广播总线(多 API 副本联调时启用)
|
||||
# docker compose -f docker-compose.dev.yml --profile redis up -d
|
||||
# 后端再设置 REDIS_ADDR=localhost:6380
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: kefu-cloud-redis
|
||||
profiles: ["redis"]
|
||||
ports:
|
||||
- "6380:6379"
|
||||
volumes:
|
||||
- redisdata:/data
|
||||
|
||||
volumes:
|
||||
pgdata:
|
||||
miniodata:
|
||||
redisdata:
|
||||
|
||||
Reference in New Issue
Block a user