背景
过去的半年多里,在哈啰四轮研发部门负责了触达平台,主要包括资源位、IM、语音和Sync等。在提高研发效率&支撑新业务快速上线试错的战略背景下,其中IM系统原有的架构设计(叙利亚风格)是远远无法满足预期的。存在的较大问题有:
- 会话拆分混乱&与订单严重耦合:现有设计中只有一个Message模型,通过订单ID来聚合一次聊天记录,多笔订单会串消息,更不支持群聊、号等其他消息形态。
- 后端中台能力不足&移动端严重耦合顺风车模块:需要对顺风车之后的新业务进行独立定制,千行代码有90%是做兼容,迭代周期长、风险大。
目标
基于其存在的问题,新设计主要围绕业务解耦、提高人效、提高扩展性开展:
- 整体设计与顺风车解耦: 提升业务线接入效率50%,降低维护成本
- 丰富消息模版能力:支持配置化以及增加快捷操作Action,提升司乘交易流程的沟通效率
- 全链路指标漏斗建设:逐步降级漏损率以及提升转化
- 新模型与订单解耦:支持群聊、号等多种未来需要的消息形态
消息模型设计
名词释义
Account:userID#accountType,支持不同类型的账号聊天
Session: 会话,消息N:1归属于会话,会话内的账号共享消息,通讯层概念