「小游戏服务平台」ADR

Architecture Decision Record (ADR) 项目:小游戏服务平台(PlayNow) 版本:V1.0 日期:2025-09-26 1. 背景 小游戏服务平台需要构建一个 高并发、可扩展、跨端支持 的系统,支持 Web/H5、小程序、移动端 Hybrid,并满足 广告变现、开发者工具、AI 推荐、 …

Architecture Decision Record (ADR)

项目:小游戏服务平台(PlayNow)
版本:V1.0
日期:2025-09-26


1. 背景

小游戏服务平台需要构建一个 高并发、可扩展、跨端支持 的系统,支持 Web/H5、小程序、移动端 Hybrid,并满足 广告变现、开发者工具、AI 推荐、国际化 等复杂需求。

在架构设计阶段,团队需要确定后端语言、数据库、消息队列、推荐引擎、基础设施等关键选型,以便统一技术栈、降低运维复杂度。


2. 决策目标

  • 高并发、低延迟,适应 百万级 DAU
  • 微服务化,支持模块快速扩展与独立部署。
  • 跨云多区域部署,兼顾国内与海外市场。
  • 可观测性强,支持实时监控、数据分析。
  • 合规安全,满足 GDPR、未成年人保护、金融监管 要求。

3. 技术选型与决策

3.1 后端语言与框架

  • 决策:Go 作为主语言,Rust 用于性能敏感模块,Java 用于后台管理/复杂业务。

  • 理由

    • Go:高并发、生态成熟,适合网关与微服务核心。
    • Rust:安全且极致性能,用于推荐/风控引擎。
    • Java/Quarkus:企业级支持完善,适合后台管理系统。

3.2 数据库与存储

  • 决策:MySQL + Redis 为主,PostgreSQL/ClickHouse/ES 做补充,OSS/S3 存储文件。

  • 理由

    • MySQL:成熟稳定,适合交易型业务(用户、订单、收益)。
    • Redis:高速缓存,适合排行榜、会话、热点数据。
    • PostgreSQL:支持复杂查询,补充 MySQL 的局限。
    • ClickHouse:高效分析日志与埋点数据。
    • 对象存储 OSS/S3:存放游戏包、广告素材、截图。

3.3 消息队列

  • 决策:Kafka + RabbitMQ 组合。

  • 理由

    • Kafka:大规模埋点、广告竞价、实时日志。
    • RabbitMQ:事务型消息、通知推送。

3.4 推荐与智能化

  • 决策:TensorFlow Serving 部署核心推荐模型,Elastic ML 作为轻量热度推荐。

  • 理由

    • TensorFlow:工业级部署能力,适合广告点击率预测、个性化推荐。
    • Elastic ML:轻量快速,适合基础热度推荐与冷启动。

3.5 基础设施与运维

  • 决策:Kubernetes + Istio 作为服务编排与治理,Prometheus/Grafana/ELK 作为监控与日志体系,GitHub Actions 作为 CI/CD。

  • 理由

    • K8s:支持多云部署与弹性伸缩。
    • Istio:流量治理、灰度发布、服务发现。
    • Prometheus/Grafana:指标监控与告警。
    • ELK:日志收集与查询。
    • GitHub Actions:跨云 CI/CD,自动化发布。

4. 决策影响

积极影响

  • 架构可扩展,满足百万级 DAU 与出海需求。
  • 微服务解耦,方便快速迭代。
  • AI 驱动推荐与风控,提升平台智能化。
  • 技术栈标准化,降低学习与运维成本。

消极影响

  • 需要多语言团队(Go + Rust + Java),增加人力成本。
  • Kafka/ClickHouse 等大数据组件增加运维复杂度。
  • 国际化部署涉及多云运维,成本较高。

5. 备选方案对比

技术领域入选方案备选方案舍弃理由
后端语言GoNode.jsNode.js 性能瓶颈,生态更偏前端
数据库MySQLOracleOracle 授权费用高,生态封闭
消息队列KafkaPulsarPulsar 社区不够成熟,运维门槛高
推荐引擎TensorFlowPyTorchPyTorch 更适合科研,工业部署较弱
运维K8s + IstioDocker SwarmSwarm 功能弱,难以支撑复杂场景

6. 决策结论

采用 Go + Rust + Java 组合语言栈,MySQL + Redis + ClickHouse 数据方案,Kafka + RabbitMQ 消息体系,TensorFlow + Elastic ML 推荐系统,K8s + Istio 运维架构,确保平台的 性能、扩展性、智能化与合规性

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页