Teamgram Biz Service 是 Teamgram 服务器架构中的核心业务逻辑层,专为高效处理用户、聊天、消息及系统更新等关键业务而设计。该服务以 gRPC 形式对外暴露六个独立的辅助函数(helper),分别负责用户管理、群组频道操作、对话维护、消息处理、状态同步以及验证码校验等模块功能。所有 helper 统一注册至 etcd 服务发现中心,供 BFF(Backend For Frontend)、msg、sync 等多个上层模块动态调用,形成高内聚、低耦合的微服务协作体系。
作为整个系统的“业务中台”,Biz Service 不直接面向终端用户,而是为前端网关和消息同步服务提供标准化的数据读写与业务规则校验能力。它通过封装复杂的数据库操作、权限判断和分布式 ID 生成机制,确保各业务线在开发时无需重复实现底层逻辑,从而提升整体代码复用率和系统稳定性。其配置灵活,支持 MySQL 持久化存储与 Redis 缓存协同工作,并通过 YAML 文件集中管理连接参数与监听端口。
该服务的典型应用场景覆盖用户登录注册流程、即时通讯会话构建、消息收发与历史记录查询、群聊权限控制以及客户端与服务端状态一致性维护等多个环节。由于采用了组合式服务架构,每个 helper 可独立扩展和部署,适应高并发、低延迟的社交应用需求。同时,其模块化设计也为未来功能迭代和功能裁剪提供了良好的技术基础。
核心功能特点
- 提供6个gRPC子服务:用户管理、聊天群组、对话处理、消息构造、状态同步和验证码校验
- 基于etcd实现服务自动注册与发现,便于多模块动态调用
- 采用MySQL+Redis双存储模型,保障数据一致性与高性能访问
- 内置Snowflake算法生成全局唯一消息ID,避免冲突
- 支持消息双写(inbox/outbox)模型和权限校验机制
- 集成差异更新(Updates)构造,确保客户端与服务端状态同步
适用场景
Teamgram Biz Service 主要服务于 Teamgram 生态中的多个关键业务场景。在用户层面,它支撑了完整的账号注册、登录验证及个人资料管理流程,尤其通过 RPCCode 和 RPCUser 协作完成手机号绑定与身份核验;在社交交互方面,RPCChat 负责群组创建、成员管理及权限设置,而 RPCDialog 则处理私聊与群聊的会话列表展示、未读计数维护和置顶归档等用户体验优化功能。
消息系统是 Biz Service 的核心职责之一。RPCMessage 不仅负责构造并写入消息到 inbox/outbox 表中,还集成了禁言、屏蔽等权限检查逻辑,防止非法内容传播。此外,该模块支持消息编辑、删除和全文搜索,满足用户对聊天记录的操作需求。对于移动端或 Web 客户端而言,RPCUpdates 至关重要——它通过 pts/qts/seq 序列号机制生成增量更新包,使客户端能高效拉取最新变更,减少网络开销并提升响应速度。
在系统集成层面,Biz Service 被 BFF、msg、sync 等服务频繁调用,形成清晰的职责分层。例如,BFF.messages 依赖 RPCMessage 完成消息入库与权限校验;BFF.contacts 结合 RPCUser 和 RPCDialog 实现联系人展示与会话初始化;而 authorization 模块则利用 RPCCode 进行短信验证码校验,最终调用 RPCUser 完成用户信息写入。这种松耦合调用关系使得各服务可独立演进,同时为后续引入新功能(如机器人接口、支付集成)预留了扩展空间。
