feat(2.0): 为 2.0 部署独立的 presence-service-2
- 在 docker-compose.2.0.yml 添加 presence-service-2 (port 3027) - 使用独立数据库 rwa_mining_presence,隔离 2.0 用户 DAU/在线数据 - Redis DB 17(2.0 其他服务已用 8,10,12,13,14,15,16) - postgres-2 POSTGRES_MULTIPLE_DATABASES 追加 rwa_mining_presence - 复用 presence-service 代码,与 auth-service 共享 JWT_SECRET Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
b9cfa67835
commit
5eb4afa2f9
|
|
@ -35,7 +35,7 @@ services:
|
|||
TZ: Asia/Shanghai
|
||||
POSTGRES_USER: ${POSTGRES_USER:-rwa_user}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-rwa_secure_password}
|
||||
POSTGRES_MULTIPLE_DATABASES: rwa_contribution,rwa_mining,rwa_trading,rwa_mining_admin,rwa_auth,rwa_mining_wallet,rwa_mining_blockchain
|
||||
POSTGRES_MULTIPLE_DATABASES: rwa_contribution,rwa_mining,rwa_trading,rwa_mining_admin,rwa_auth,rwa_mining_wallet,rwa_mining_blockchain,rwa_mining_presence
|
||||
ports:
|
||||
# 安全加固: 仅绑定 127.0.0.1,禁止公网直连数据库
|
||||
# deploy-mining.sh 通过 docker exec 访问,不受影响
|
||||
|
|
@ -493,6 +493,49 @@ services:
|
|||
networks:
|
||||
- rwa-2-network
|
||||
|
||||
presence-service-2:
|
||||
build:
|
||||
context: ./presence-service
|
||||
dockerfile: Dockerfile
|
||||
container_name: rwa-presence-service-2
|
||||
depends_on:
|
||||
postgres-2:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
redis-2:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
TZ: Asia/Shanghai
|
||||
PORT: 3027
|
||||
# PostgreSQL - 2.0 独立的 presence 数据库
|
||||
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@${POSTGRES_HOST:-postgres}:${POSTGRES_PORT:-5432}/rwa_mining_presence?schema=public
|
||||
# Redis - 使用 DB 17 隔离 (2.0 已用: 8,10,12,13,14,15,16)
|
||||
REDIS_HOST: ${REDIS_HOST:-redis}
|
||||
REDIS_PORT: ${REDIS_PORT:-6379}
|
||||
REDIS_PASSWORD: ${REDIS_PASSWORD:-}
|
||||
REDIS_DB: 17
|
||||
# Kafka - 发布 session-started 事件
|
||||
KAFKA_BROKERS: ${KAFKA_BROKERS:-kafka:29092}
|
||||
# JWT - 与 auth-service 共享密钥以验证 mining-app token
|
||||
JWT_SECRET: ${JWT_SECRET:-your-jwt-secret-change-in-production}
|
||||
ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET:-your-admin-jwt-secret-change-in-production}
|
||||
# 在线窗口: 180 秒无心跳视为离线
|
||||
PRESENCE_WINDOW_SECONDS: 180
|
||||
SNAPSHOT_INTERVAL_SECONDS: 60
|
||||
ports:
|
||||
- "3027:3027"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:3027/api/v1/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- rwa-2-network
|
||||
|
||||
# ===========================================================================
|
||||
# Frontend Services (2.0)
|
||||
# ===========================================================================
|
||||
|
|
|
|||
Loading…
Reference in New Issue