电商
亚太地区
中小企业/初创企业
"在闲鱼,Serverless架构赋能云端一体化编程模型。借助该模型,开发所需人天减少了30%以上。同时,由于代码量更少、规范性更高,缺陷率降低了20%。"
Shubin Wang,
高级技术专家,闲鱼
关于闲鱼
闲鱼(Idle Fish)是依托阿里巴巴集团电商体系的二手交易平台。面对复杂的二手市场,闲鱼提供独特功能以满足用户的差异化需求。在底层依托阿里巴巴集团电商体系的基础上,闲鱼致力于在展示层和服务层探索更敏捷、更灵活的研发体系。
挑战
闲鱼现有IT系统面临以下痛点:
1. 用户交互层、服务层和领域层的边界定义不清晰。即使是很小的项目,也需要大团队来完成,导致协作成本高、开发和调试周期长。
2. 服务端存在大规模应用。研发、发布和运维流程紧密耦合,带来严峻的系统稳定性挑战——单个服务问题就可能影响整个应用。
3. 运维成本极高。为保证服务稳定性和可用性,阿里巴巴为所有上线应用制定了规范和规则。每个应用都必须遵循这些规范,即使每天仅被访问一两次也不例外。因此,无论访问频次如何,每个应用都会消耗资源。单个应用消耗的资源或许有限,但所有应用加起来则会消耗大量资源。对于大规模应用,运维成本更是极高,因为必须遵循更严格的发布流程和程序,而且一次版本发布至少需要六小时。
为什么选择阿里云
为解决上述问题,闲鱼决定采用阿里云提供的Serverless架构。该架构能够提升应用的运维能力,帮助闲鱼突破传统大规模应用在速度、稳定性和质量方面的局限。
为落地云原生和Serverless架构,闲鱼首先在混合项目开发体系和高性能组件库中引入Flutter,随后聚焦Serverless架构的关键挑战,包括研发体系的云上集成,以及服务编排层的服务端架构设计。
闲鱼基于Flutter框架优化了应用架构,并推出创新方案提升Android和iOS双技术栈的研发效率。此外,闲鱼引入Flutter + Serverless方案,致力于解决团队协作中的诸多问题。
引入Serverless架构后,闲鱼的研发效率有望大幅提升。
架构
基于阿里云Serverless架构,闲鱼做了以下改进:
1. Nexus API。作为云上编程模型的集成框架,Nexus API旨在将Flutter和函数即服务 (FaaS) 的编程模型整合为统一平台,涵盖用户界面、交互、数据和逻辑。
2. 命令行界面 (CLI) 工具。该工具用于在云上集成开发过程中,令客户端开发者无需关注FaaS开发的底层细节,从而标准化客户端开发体验,支持开发者在本地开发应用。
3. 后端即服务 (BaaS)。闲鱼正在逐步简化对象存储、消息和搜索等基础服务能力,同时在领域层构建元数据中心。简化的能力与领域层现有服务相结合,使客户端开发者能够快速编排服务。
4. 云端一体化项目。随着Flutter的成功,闲鱼建立了以Flutter为主、HTML5播放器为辅的跨端研发体系,使开发者能够统一Android和iOS技术栈。
展望未来
Serverless架构并非万能药,但它与服务层高度契合,适用于对传统大规模应用进行服务层拆分。对闲鱼而言,下一步就是将Serverless架构应用到大规模应用中。
精选
产品
产品
安全稳定、弹性伸缩、免运维、按量付费的Serverless计算平台
