在电商业务增长迅猛的当下,交易链路的稳定与快速支撑业务变得至关重要。那么,闲鱼是如何做到在保证性能时提升研发效率,还能快速承接新业务的?接下来让我们一起了解其交易链路的架构演进过程。
架构演进的背景
如今电商市场不断发展,交易业务越发复杂。保证交易链路稳定和快速应对新业务成了各平台重点。闲鱼C2C交易链路原相对固化,但为承接更多类型业务与动态变化,需对交易链路架构升级。自业务发展以来,适应新需求、提升性能和研发效率,就成了闲鱼架构演进的推动力。
早期简单代码结构
2017 - 2018年,闲鱼交易链路处于原有业务快速迭代期,代码结构简单。当时没做过多分层设计,代码按功能堆砌。此结构能快速实现业务功能,支撑业务初步发展。但随着业务发展,简单的代码结构难以应对复杂业务逻辑与多样化页面需求,对性能和研发效率影响大。
页面区块化改造
此阶段端大致分3层,底层数据模型、闲鱼C2X交易域、业务解决方案。服务端也分3层,底层数据模型、闲鱼C2X交易域、业务层。在底层数据模型基础上,搭建闲鱼C2X交易域处理特性与业务逻辑。业务解决方案为不同场景提供业务数据。端侧分两层,业务数据解析将后端业务数据,按业务类型和交易状态解析整合、转换。这一改造让代码结构更清晰,提升研发效率和页面性能。
端侧业务逻辑上云
前阶段客户端将端侧业务逻辑完整上云,但出现瓶颈。在交易业务场景下,后端需更多精力进行领域建设和沉淀,少关心页面渲染交互逻辑。端上云虽有好处,但对后端负担大,需更高效研发模式满足业务需求。于是探索新研发模式应对这些问题,减少各端研发的耦合。
云端一体研发模式
新研发模式下,前端深入业务,实现服务端页面渲染相关逻辑,后端领域下沉,专注领域建设,实现云端一体。Server重新分层,后端能专注领域建设。客户端开发完成原业务解决方案,渲染接口提供页面渲染数据。FaaS部分完成代码构建,定义页面协议,根据业务需求使操作动态可配置。操作触发后的实现由端侧迁移至服务端,真正实现端到端研发闭环和资源配置优化。
架构演进成果与展望
目前闲鱼交易链路在云端一体阶段不断深耕,下单页面已落地,原前后端3人开发变为1人,大大提升研发效率。不同业务场景适用不同业务架构,业务发展中应灵活选择。闲鱼云端一体化应用架构落地场景不仅是交易链路,后续会以交易链路为范例不断演进扩展。
对于闲鱼这种云端一体的研发模式,你认为在其他电商平台是否也适用?不妨在评论区留言说说你的看法,觉得文章有用的话,不妨点个赞并分享给身边的朋友!