Presence Service 文档中心
文档目录
快速导航
我是开发者
- 阅读 ARCHITECTURE.md 了解系统架构
- 阅读 DEVELOPMENT.md 搭建开发环境
- 阅读 TESTING.md 了解测试规范
我是前端/客户端开发者
- 阅读 API.md 了解接口规范
- 查看 SDK 示例代码
我是 DevOps/SRE
- 阅读 DEPLOYMENT.md 了解部署方案
- 配置监控和告警
服务概览
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 配置
联系方式