荔枝架构实践与演进历程阅读心得

荔枝APP自2016年起,从自研分布式数据库中间件datastore服务开始,逐步完善监控体系,扩展分布式服务框架功能,形成较为完整的分布式架构。

荔枝,致力于打造声音处理平台,帮助人们展现自己的声音才华。荔枝集录制、编辑、存储、收听、分享于一体,依托声音底层技术积淀,具有声音节目录制功能,可在手机内完成录音、剪辑、音频上传和语音直播。

简单理解,荔枝APP上有很多主播,主播和用户之间可以通过声音互动。目前,荔枝APP月均活跃用户达到好几千万,月均活跃主播达到好几百万,全球注册用户和音频节目数量都已过亿。

那么,对于有着大用户量的社交APP来说,荔枝APP的背后架构该如何设计?一个时间轴可以概括整个架构的演进过程。

  • 2016年:分布式数据库中间件

从2016年开始,荔枝APP的后台架构走入V7.0版时代。这时,开发团队自研了分布式数据库中间件data store服务。data store的特点是:简单易用,可减少重复代码。只需要在类上加上注解,就可以实现与数据库的交互、数据转换等功能,大大减少了开发的工作量。另外,data store具有自动维护缓存和数据库表的对应关系、自动维护缓存与数据库数据的一致性的功能。最重要的是,屏蔽了服务对数据源的管理,便于数据库的迁移和扩容等操作。

总体来看,V7.0版的最大特点是,已形成一个比较完整的分布式架构。data store 封装了常见的 mysql、redis 操作,能提供慢操作监控。后期根据业务发展,还引入了 kafka、mongoDB、zookeeper、hbase等多种第三方产品。

随着应用的增加,V7.0版架构也逐渐暴露出了一些缺陷。一是资源监控、业务监控、分布式跟踪链等功能不完善。另外,随着访问量上涨,分布式服务框架的功能也需要进行扩展。

  • ‍‍2017-2018年:监控体系

进入2017年以后,整个架构已趋于完善,重点引入第三方产品,建立监控体系,完善对服务器资源、业务、跟踪链路等的监控,同时也扩展了分布式服务框架功能。也是从这个时候开始,整个架构迎来了V8.0版。经过完善后,业务监控及基础监控功能已比较完整,分布式服务框架扩展了接口缓存、熔断、降级、过载保护等功能。

 

转载于:https://www.cnblogs.com/andibier/p/11055415.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值