案例背景与挑战
百度爱番番业务部负责营销&销售型SaaS系统,面临业务复杂(多租户、多角色、多流程)、系统无序(模块混乱、接口膨胀、链路长)、组织效能低(边界模糊、复用度低、沟通效率低)等挑战。
改造思路与落地实践
采用效能工具箱(DDD、BFF、API First)解决复杂度,全生命周期管理系统复杂度:
- 顶层设计:聚焦组织效能,引入微服务中台、DDD、BFF、API Gateway。
- 微服务改造:线索收集域通过DDD指导模块划分,链路异步化,数据私有化,独立BFF模块。
- 分层架构:关注点分离,领域层纯粹,依赖倒置,脚手架与DDD框架。
- 领域建模:业务逻辑自上向下动态建模,自下向上静态建模。
- 领域事件:围绕聚合识别事件,发件箱模式处理事务一致性。
- BFF设计:端展示灵活多变,服务端能力沉淀,接口职责单一。
- API First:贯穿开发测试流程,接口先行,并行开发,自动化测试与治理。
效果收益
显性收益:
- 100+模块接入在线化文档。
- 销售域代码行数减少40%,领域接口数减少35%,bug数减少30%。
- IM沟通域新手上手时间加快60%,模块数减少40%。
- OpenAPI暴露效率提升(2天→0.5天)。
- 产研团队协同效率提升。
隐性收益:
- 团队间耦合减少,模块和团队边界更合理。
- 新服务开发效率提升。
- 经验输出至公司内多个部门项目和技术大会。
- 技术成长方向开拓。
经验与思考
- 因地制宜:选择适合DDD的业务(复杂度高、模块边界不清、组织文化高效),时机(业务变化、资源投入、技术架构调整),项目类型(新项目聚焦领域划分,存量项目改造聚焦分析设计)。
- 长期主义:DDD聚焦业务,避免拿来主义,重视设计,重视思考和抽象能力,DDD带来长期和隐性收益。
- 展望:DDD诉求增大(存量竞争、ToB发展、云原生),生态更丰富(结合API First、BFF,Serverless案例涌现)。