rwadurian/backend/services/presence-service/docs
hailin 747e4ae8ef refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing
- Remove Address field from PartyEndpoint (parties connect to router themselves)
- Update K8s Discovery to only manage PartyID and Role labels
- Add Party registration and SessionEvent protobuf definitions
- Implement PartyRegistry and SessionEventBroadcaster domain logic
- Add RegisterParty and SubscribeSessionEvents gRPC handlers
- Prepare infrastructure for party-driven MPC coordination

This is the first phase of migrating from coordinator-driven to party-driven
architecture following international MPC system design patterns.
2025-12-05 08:11:28 -08:00
..
API.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
ARCHITECTURE.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
DEPLOYMENT.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
DEVELOPMENT.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
README.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
TESTING.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00

README.md

Presence Service 文档中心

文档目录

文档 描述 适用读者
ARCHITECTURE.md 系统架构设计 架构师、Tech Lead
API.md API 接口规范 前端/客户端开发者
DEVELOPMENT.md 开发指南 后端开发者
TESTING.md 测试策略与实践 开发者、QA
DEPLOYMENT.md 部署运维指南 DevOps、SRE

快速导航

我是开发者

  1. 阅读 ARCHITECTURE.md 了解系统架构
  2. 阅读 DEVELOPMENT.md 搭建开发环境
  3. 阅读 TESTING.md 了解测试规范

我是前端/客户端开发者

  1. 阅读 API.md 了解接口规范
  2. 查看 SDK 示例代码

我是 DevOps/SRE

  1. 阅读 DEPLOYMENT.md 了解部署方案
  2. 配置监控和告警

服务概览

Presence Service 是用户在线状态检测和活跃度分析微服务。

核心功能

  • 实时在线状态检测 (心跳机制)
  • 日活统计 (DAU)
  • 在线人数历史查询
  • 分析事件收集

技术栈

  • 运行时: Node.js 20
  • 框架: NestJS 10
  • 语言: TypeScript 5
  • 数据库: PostgreSQL 15 + Redis 7
  • 消息队列: Kafka
  • ORM: Prisma 5

架构模式

  • DDD (领域驱动设计)
  • 六边形架构 (Hexagonal Architecture)
  • CQRS (命令查询职责分离)

快速开始

# 克隆项目
git clone <repository-url>
cd backend/services/presence-service

# 安装依赖
npm install

# 启动基础设施
docker compose -f docker-compose.dev.yml up -d

# 初始化数据库
npx prisma db push

# 启动服务
npm run start:dev

测试

# 全部测试
npm test

# 单元测试
npm run test:unit

# 集成测试
npm run test:integration

# E2E 测试
npm run test:e2e

测试统计

类型 套件数 用例数
单元测试 9 123
集成测试 3 22
E2E 测试 3 20
总计 15 165

目录结构

presence-service/
├── docs/                   # 文档 (当前目录)
├── src/
│   ├── api/                # API 层 (Controllers, DTOs)
│   ├── application/        # 应用层 (Commands, Queries)
│   ├── domain/             # 领域层 (Entities, Value Objects, Services)
│   ├── infrastructure/     # 基础设施层 (Repositories, Redis, Kafka)
│   └── shared/             # 共享模块 (Filters, Guards, Utils)
├── test/
│   ├── unit/               # 单元测试
│   ├── integration/        # 集成测试
│   └── e2e/                # E2E 测试
├── prisma/                 # Prisma Schema
└── docker-compose*.yml     # Docker 配置

联系方式