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
|
TZ: Asia/Shanghai
|
||||||
POSTGRES_USER: ${POSTGRES_USER:-rwa_user}
|
POSTGRES_USER: ${POSTGRES_USER:-rwa_user}
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-rwa_secure_password}
|
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:
|
ports:
|
||||||
# 安全加固: 仅绑定 127.0.0.1,禁止公网直连数据库
|
# 安全加固: 仅绑定 127.0.0.1,禁止公网直连数据库
|
||||||
# deploy-mining.sh 通过 docker exec 访问,不受影响
|
# deploy-mining.sh 通过 docker exec 访问,不受影响
|
||||||
|
|
@ -493,6 +493,49 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- rwa-2-network
|
- 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)
|
# Frontend Services (2.0)
|
||||||
# ===========================================================================
|
# ===========================================================================
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue