基本信息

案例ID:240621

技术顾问:奔跑的窗口 - 10年经验 - 京东

联系沟通

微信扫码,建群沟通

项目名称:日历产品

所属行业:工具 - 办公软件

->查看更多案例

案例介绍

日历原为单体架构,存在“循环日程”数据模型平铺导致的数据膨胀(单表数
据量过亿)、日历模型扩展性不够,日程与会议室资源强耦合等问题,导致维护
成本高、查询性能差。
核心挑战与行动:
1. DDD 领域重构:主导系统重构,重新划分业务边界。将原来的单体应用拆分为三个
服务,A 作为代理服务,负责与 Exchange 的交互细节;B 作为领域核心服
务,负责日历的管理、日程的管理、参与人的管理等,只关注领域事件;C 作为前
台服务,是比较薄的一层,负责三方业务对接以及协议转换等。
2. 会议室系统与日程系统解耦:由于历史原因,会议室和日程是同一个团队维护,两
个系统间交互很不合理。识别“日程”与“会议室”为独立聚合根,将会议室资源管理从日历服
务中剥离,对于属于会议室领域的功能和数据从大象日历拆除,解决了强耦合的痛点。
3. 存储模型优化:针对“循环日程”数据膨胀问题,设计基于 RRule(递归规则) 的新
型存储模型,替代旧的平铺存储方式,大幅降低数据库存储压力。到目前为止,老表的数据
量将近 1 亿,新表数据在 3000 万左右。
4. 平滑迁移方案:设计“双写 + 异步校验 + 灰度切流”的数据迁移方案,在业务无感
知的前提下,完成了海量日程数据的底层模型切换。

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服