ShardingSphere 大大简化了分库分表的开发和维护工作,对于业务的快速上线起到了非常大的支撑作用,保守估计 ShardingSphere 至少为我们节省了 4 个月的研发成本。
–– 史墨轩,易华录·技术总监
项目背景
伴随着易华录旗下面向个人用户的云服务产品【葫芦 App】正式上线,后台架构所承受的业务压力也与日俱增。
为此,葫芦 App 研发团队选择采用 ShardingSphere 分库分表的功能对数据进行了横向的拆分,围绕 ShardingSphere 灵活敏捷的特性,满足了葫芦 App 业务对数据层扩展性的要求,避免团队重复“造轮子”,最大程度简化了随着业务增长而带来的愈发复杂化的分库分表的开发与维护工作。
业务挑战
- 扩展能力
- 效率提升
- 上线提前
- 成熟技术
解决方案
- 可插拔架构的『高扩展性』
由于业务特性,葫芦 App 原本有限的存储空间被消耗得非常快,并逐渐开始影响用户在前端的响应效率。通过采用 ShardingSphere 的分片策略,葫芦研发团队在应对海量计算+存储所带来的业务问题同时,能够确保分片扩展策略的灵活性。基于此,葫芦团队可以在ShardingSphere 上快速做出相应的功能扩展,为后续架构调整提供优化方案,进一步强化突出了 ShardingSphere 分库分表的优势。
- 距离业务更紧密的『贴合性』
后台架构的变化越小,对于业务而言就越可控。ShardingSphere 这种位于数据库之上的生态,距离业务更近,部署起来也更加轻量,无疑是解决葫芦 App 前台业务变更与后台架构调整之间矛盾的最优解。此外在灵活性层面,ShardingSphere 通过相关配置即可实现的方式,极大简化了葫芦研发团队在分库分表层面的研发与维护工作,对于业务的快速上线起到了非常大的支撑作用。
- 对于业务架构的『零侵入性』
葫芦 App 选择了 ShardingSphere-Proxy 部署模式,在不更换底层数据库的前提下通过 Proxy 来管理真实的数据库集群,基本无需对业务进行改造就已经完成了业务与数据在架构层面的分离,并避免了因更换数据库导致的业务不可用、漫长稳定周期等风险。另外,ShardingSphere 的无状态模式,几乎不会对前端用户产生任何可感知的影响,业务层也无需关注数据的存储方式。
用户收益
- 节省 4 人月成本
- 明显改善业务体验
- 系统灵活扩容
SphereEx,让数据与应用连接更简单。