闲鱼APP架构演进:从单一到平台的转型之路
130 浏览量
更新于2024-06-27
收藏 4.95MB PPTX 举报
"咸鱼APP架构的演进过程展示了从早期的单一服务架构到平台期的全面演进,包括服务化改造、效率提升、扩展性和业务隔离的建设,以及架构框架SWAK的引入用于解决代码耦合和稳定性问题。"
在闲鱼APP的发展历程中,其架构经历了多个阶段的演进,以适应快速变化的业务需求和市场规模的扩大。初期,由于业务规模较小,闲鱼采用的是未进行服务化拆分的单一服务架构,基于JavaServlet API的Webx框架和Velocity模板引擎进行开发,这种架构对于快速迭代是有帮助的。随着用户基数的快速增长,闲鱼面临着线上服务性能瓶颈和迭代速度跟不上业务需求的问题。
在试错期,闲鱼进行了第一轮服务化改造,通过Mbaas(移动后端即服务)提供基础数据源,使客户端能够通过类SQL描述获取所需信息,减少了后端接口的增加,从而实现活动和feeds投放的自动化。这一阶段,架构的核心原则是在可接受的业务范围内牺牲部分线上服务质量以换取更快的响应速度。同时,业务关注点转向提升效率,建设更多能力验证业务方向。
进入发展期,闲鱼全面拥抱Flutter,构建了基于Flutter和原生混合栈的开发框架,提高了开发效率和平台的扩展性。此时,业务的核心问题是如何让更多外部参与者加入共享经济平台,而平台生态建设超出了闲鱼自身的能力。因此,架构关注点转向扩展性、业务隔离和平台基础能力建设。
到了平台期,架构问题凸显,如代码耦合、开发运维效率低下和稳定性问题,这直接影响到个人业务的支撑效率。为了解决这些问题,闲鱼引入了业务隔离框架SWAK(Swiss Army Knife的缩写)。SWAK框架旨在通过分析对象标签,分离不变的逻辑和可变的逻辑,将可变逻辑抽象为接口,并根据标签实现多种独立的策略,以提高系统的灵活性和可维护性。
咸鱼APP的架构演进是一个从简单到复杂,从单一到多元化,从注重速度到兼顾稳定性和扩展性的过程。通过不断的迭代和优化,咸鱼成功地构建了一个能够支持大规模用户、高效开发和良好业务隔离的平台架构。
2023-03-03 上传
2021-10-10 上传
2021-10-14 上传
2021-10-10 上传
woody1122
- 粉丝: 4
- 资源: 34
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查