从应用关键链路的业务稳定性,到对研发效率的不断追求,闲鱼交易链路业务架构的演进充满故事。下面就为大家详细讲述其发展历程。
业务特点与挑战
闲鱼的C2C交易链路业务相对固化,需保证性能与体验。同时要具备一定的动态性,以便快速承接新增业务类型、状态和操作。其中视觉方面变化不大,对页面组件的动态性也没有强烈需求,这就给业务架构带来了独特挑战。
早期架构与迭代
2017 - 2018年,交易链路由简单代码结构进行了页面区块化改造。此时服务端大致分3层,底层数据模型是基础,基于此搭建闲鱼C2X交易域,再以业务解决方案满足不同业务场景。端侧分成两层,业务数据解析整合后端数据,转化为渲染协议并页面区块化,抽离通用组件以供渲染。
改造后的架构优势
通过页面区块化与行为通信协议,新奥创提供了基于业务的页面、组件和规则。前端实现动态模板,后端根据业务编排页面,能实现跨端、组件的动态化。交易操作也通过Common Action实现逻辑一致,打造了端上的交易操作中台,供多业务场景调用。
架构进一步优化
此时服务端依旧分3层,不过原有的业务聚合、渲染协议解析,由客户端在Server完成。这样实现了逻辑归一和端到端的研发闭环,还优化了资源配置。在云端一体的研发模式中,Server重新分层,后端专注领域建设,客户端承担原业务解决方案及渲染协议解析。
新架构的功能实现
渲染接口在新架构里发挥重要作用,它提供页面渲染数据,完成接口校验后定义页面协议,将多领域数据进行聚合填充。并且它可以实现操作动态可配置,能处理不同订单类型和状态下的操作,比如“已下单未付款”的C2C普通交易订单包含的操作。
演进成果与展望
当前闲鱼交易链路在云端一体阶段深入发展,下单页面已落地该架构,开发人数从前后端3人变为1人,显著减少协同且提升了研发效率。其他场景也在规划落地中。而且闲鱼云端一体化应用架构的落地场景不止交易链路,后续会以此为范例继续演进与扩展。