荔枝架构演进历程读后感
荔枝,致力于打造声音处理平台,帮助人们展现自己的声音才华。荔枝集录制、编辑、存储、收听、分享于一体,依托声音底层技术积淀,具有声音节目录制功能,可在手机内完成录音、剪辑、音频上传和语音直播。简单理解,荔枝APP上有很多主播,主播和用户之间可以通过声音互动。目前,荔枝APP月均活跃用户达到好几千万,月均活跃主播达到好几百万,全球注册用户和音频节目数量都已过亿。
架构演进时间轴:
2013年:单体架构
2014年:垂直架构
2015年:分布式架构
2016年:分布式数据库中间件
2017-2018年:监控体系
近两年踩过的“坑”以及应对措施
- 1. 大主播开直播,访问量爆涨,影响了其他直播间的直播效果。
- 2. 在高并发环境下,Mysql 查询性能成为瓶颈。分布式数据库中间件作了扩展,在操作mysql时,在数据库上层加入缓存memcached后,大大提高了查询性能,并且自动维护缓存和数据库数据的一致性。
- 3. 访问量上涨,受日志文件的IO影响。
- 4. 随着业务的发展,系统的整体访问量越来越大。
- 系统间异步消息通知功能不完善。通过redis来做异步消息通知,好处是比较轻量化,但是随着数据量增加,大数据传输增多,出现多个消费方需要消费相同消息的时候,redis 就不是很适用了。这时,使用 kafka可以满足系统间消息通知、大数据量传输、多个消费者消费相同消息的场景。
- 6. 当服务框架中的各种功能都比较完善后,却发现缺少一个报警功能。
- 7. 随着服务的增多,每个服务都有很多实例,导致整个架构的调用链路不清晰。引入skywalking 实现调用链跟踪功能后,能快速定位到线上故障和整个架构的性能瓶颈。
- 8. 主要是更新服务的问题,上线/重启服务操作很原始。通过jenkins + gitlab,接入自动发布平台,实现自动打包、一键发布。
- 9. 服务发布流程不够规范。
10. 研发规范不够标准。一个技术团队从10几个人发展到几百人甚至上千人的时候,规范很重要。为了提高效率,公司制定了各种标准的开发/操作规范,包括客户端开发规范、服务端开发规范、测试规范、运维规范、mysql、redis、kafka、mongoDB 等的使用规范。
总结:
好的系统不是设计出来的,而是演进出来的。
转载于:https://www.cnblogs.com/lovema1210/p/11045343.html
荔枝架构演进历程读后感相关推荐
- 《微店大数据开发平台架构演进》读后感
<微店大数据开发平台架构演进>读后感 <微店大数据开发平台架构演进>这篇文章向我们介绍了八个问题,其中对Mars大数据平台构成.Mars系统架构设计.分布式系统架构.定时.依赖 ...
- 《支付宝的高可用与容灾架构演进》读后感
本篇文章主要介绍了支付宝高可用和容灾能力建设的解决思路,高可用性指的是一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性.容灾能力一般特指面对自然灾害时的处理与恢复能力.在架构设计中, ...
- 京东无线服务端架构演进历程
京东无线服务端 首先,在大会上统计一下数据,不知道多少人的手机上安装了京东手机APP,从举手的比例来看,大家也能猜到.就像这个图画的一样,京东无线服务端的流量像这个瀑布一样,汹涌不绝.服务端就是APP ...
- 迈向更灵活,贝壳 OLAP 平台架构演进历程
导语 |为了满足贝壳日益复杂.多样化业务场景下的多维数据分析需求,贝壳 OLAP 平台经历了从早期基 于Hive+MySQL 原始阶段,到基于 Kylin单一引擎的平台化建设,再到支持多种不同OLAP ...
- 【精品】服务端 架构演进 历程
概述 以淘宝作为例,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则. 单机架构 ...
- 大数据处理架构演进历程,文末留言有机会获取Flink图书
关注 iteblog_hadoop 公众号并在本文末评论区留言(认真写评论,增加上榜的机会).留言点赞数排名前6名的粉丝,各免费赠送一本<深入理解Flink - 实时大数据处理实战>,活动 ...
- 软甲架构师历程读后感
了解软件架构师的历程及逆行,深刻解读. 首先了解什么是是架构,在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解.甚至于很多架构师一说架构,就开始谈论什么应用架构.硬件架构.数据架构等等 ...
- 大型网站架构演进历程
目录 一.单体应用架构 二.垂直应用架构 三.分布式架构 四.SOA(面向服务)架构 五.微服务架构 六.总结 一.单体应用架构 最原始的架构 二.垂直应用架构 在原始架构上做了改良 三.分布式架构 ...
- 首度公开!OceanBase存储系统架构的演进历程及工程实践
随着用户数据量的不断增长,基于传统共享存储的纵向扩展能力渐渐变得力不从心,分布式存储成为应对用户海量数据的标配. 作为一位架构师,在设计系统的分布式存储架构时,需要关注哪些方面呢?或者我们换句话说,对 ...
最新文章
- 日常遇到的一些问题或知识的笔记(一)
- noip模拟赛 Chtholly Nota Seniorious
- 做一名真正的软件工程师
- iOS开发点击UIButton实现UIView的旋转
- 关于java嵌入式数据库的选择,强烈建议H2 嵌入式数据库
- 前端学习(3350):数组方法的运用和数值join
- mysql基础14(关于mysql数据库在没有主键情况下去除重复数据办法)
- 自定义Sublime Text图标详细教程
- Seldom2.0: 如何更简单的实现HTTP接口测试
- 审计MySQL 8.0中的分类数据查询
- kali 安装vmware 14 for linux 出现问题
- Raki的读paper小记:Empower Entity Set Expansion via Language Model Probing
- 分享一个Latex一页纸简历模板(中英文)
- 以太网交换机和普通交换机主要的8大区别介绍
- 终端模拟器怎么用android命令大全,终端模拟器命令大全apk下载-终端模拟器刷入recovery手机版下载V1.0.70安卓最新版-西西软件下载...
- 阿里云IoTStudio中的“移动可视化开发” 重新登场了--让开发APP不再难
- 【自动控制原理】【计算机控制技术】通俗易懂地理解Z变换
- Java面试题-个人笔记
- 大学生日记 我走出了农村 却永远走不进城市
- 敷完面膜后要擦水乳吗_敷完面膜还要擦水乳吗