荔枝,致力于打造声音处理平台,帮助人们展现自己的声音才华。荔枝集录制、编辑、存储、收听、分享于一体,依托声音底层技术积淀,具有声音节目录制功能,可在手机内完成录音、剪辑、音频上传和语音直播。简单理解,荔枝APP上有很多主播,主播和用户之间可以通过声音互动。目前,荔枝APP月均活跃用户达到好几千万,月均活跃主播达到好几百万,全球注册用户和音频节目数量都已过亿。

架构演进时间轴:

2013年:单体架构

2014年:垂直架构

2015年:分布式架构

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

‍‍2017-2018年:监控体系

近两年踩过的“坑”以及应对措施

  1. 1.  大主播开直播,访问量爆涨,影响了其他直播间的直播效果。
  2. 2.   在高并发环境下,Mysql 查询性能成为瓶颈。分布式数据库中间件作了扩展,在操作mysql时,在数据库上层加入缓存memcached后,大大提高了查询性能,并且自动维护缓存和数据库数据的一致性。
  3. 3.   访问量上涨,受日志文件的IO影响。
  4. 4.   随着业务的发展,系统的整体访问量越来越大。
  5. 系统间异步消息通知功能不完善。通过redis来做异步消息通知,好处是比较轻量化,但是随着数据量增加,大数据传输增多,出现多个消费方需要消费相同消息的时候,redis 就不是很适用了。这时,使用 kafka可以满足系统间消息通知、大数据量传输、多个消费者消费相同消息的场景。
  6. 6.   当服务框架中的各种功能都比较完善后,却发现缺少一个报警功能。
  7. 7.   随着服务的增多,每个服务都有很多实例,导致整个架构的调用链路不清晰。引入skywalking 实现调用链跟踪功能后,能快速定位到线上故障和整个架构的性能瓶颈。
  8. 8.   主要是更新服务的问题,上线/重启服务操作很原始。通过jenkins + gitlab,接入自动发布平台,实现自动打包、一键发布。
  9. 9.   服务发布流程不够规范。

10. 研发规范不够标准。一个技术团队从10几个人发展到几百人甚至上千人的时候,规范很重要。为了提高效率,公司制定了各种标准的开发/操作规范,包括客户端开发规范、服务端开发规范、测试规范、运维规范、mysql、redis、kafka、mongoDB 等的使用规范。

总结:

好的系统不是设计出来的,而是演进出来的。

转载于:https://www.cnblogs.com/lovema1210/p/11045343.html

荔枝架构演进历程读后感相关推荐

  1. 《微店大数据开发平台架构演进》读后感

    <微店大数据开发平台架构演进>读后感 <微店大数据开发平台架构演进>这篇文章向我们介绍了八个问题,其中对Mars大数据平台构成.Mars系统架构设计.分布式系统架构.定时.依赖 ...

  2. 《支付宝的高可用与容灾架构演进》读后感

    本篇文章主要介绍了支付宝高可用和容灾能力建设的解决思路,高可用性指的是一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性.容灾能力一般特指面对自然灾害时的处理与恢复能力.在架构设计中, ...

  3. 京东无线服务端架构演进历程

    京东无线服务端 首先,在大会上统计一下数据,不知道多少人的手机上安装了京东手机APP,从举手的比例来看,大家也能猜到.就像这个图画的一样,京东无线服务端的流量像这个瀑布一样,汹涌不绝.服务端就是APP ...

  4. 迈向更灵活,贝壳 OLAP 平台架构演进历程

    导语 |为了满足贝壳日益复杂.多样化业务场景下的多维数据分析需求,贝壳 OLAP 平台经历了从早期基 于Hive+MySQL 原始阶段,到基于 Kylin单一引擎的平台化建设,再到支持多种不同OLAP ...

  5. 【精品】服务端 架构演进 历程

    概述 以淘宝作为例,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则. 单机架构 ...

  6. 大数据处理架构演进历程,文末留言有机会获取Flink图书

    关注 iteblog_hadoop 公众号并在本文末评论区留言(认真写评论,增加上榜的机会).留言点赞数排名前6名的粉丝,各免费赠送一本<深入理解Flink - 实时大数据处理实战>,活动 ...

  7. 软甲架构师历程读后感

    了解软件架构师的历程及逆行,深刻解读. 首先了解什么是是架构,在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解.甚至于很多架构师一说架构,就开始谈论什么应用架构.硬件架构.数据架构等等 ...

  8. 大型网站架构演进历程

    目录 一.单体应用架构 二.垂直应用架构 三.分布式架构 四.SOA(面向服务)架构 五.微服务架构 六.总结 一.单体应用架构 最原始的架构 二.垂直应用架构 在原始架构上做了改良 三.分布式架构 ...

  9. 首度公开!OceanBase存储系统架构的演进历程及工程实践

    随着用户数据量的不断增长,基于传统共享存储的纵向扩展能力渐渐变得力不从心,分布式存储成为应对用户海量数据的标配. 作为一位架构师,在设计系统的分布式存储架构时,需要关注哪些方面呢?或者我们换句话说,对 ...

最新文章

  1. 日常遇到的一些问题或知识的笔记(一)
  2. noip模拟赛 Chtholly Nota Seniorious
  3. 做一名真正的软件工程师
  4. iOS开发点击UIButton实现UIView的旋转
  5. 关于java嵌入式数据库的选择,强烈建议H2 嵌入式数据库
  6. 前端学习(3350):数组方法的运用和数值join
  7. mysql基础14(关于mysql数据库在没有主键情况下去除重复数据办法)
  8. 自定义Sublime Text图标详细教程
  9. Seldom2.0: 如何更简单的实现HTTP接口测试
  10. 审计MySQL 8.0中的分类数据查询
  11. kali 安装vmware 14 for linux 出现问题
  12. Raki的读paper小记:Empower Entity Set Expansion via Language Model Probing
  13. 分享一个Latex一页纸简历模板(中英文)
  14. 以太网交换机和普通交换机主要的8大区别介绍
  15. 终端模拟器怎么用android命令大全,终端模拟器命令大全apk下载-终端模拟器刷入recovery手机版下载V1.0.70安卓最新版-西西软件下载...
  16. 阿里云IoTStudio中的“移动可视化开发” 重新登场了--让开发APP不再难
  17. 【自动控制原理】【计算机控制技术】通俗易懂地理解Z变换
  18. Java面试题-个人笔记
  19. 大学生日记 我走出了农村 却永远走不进城市
  20. 敷完面膜后要擦水乳吗_敷完面膜还要擦水乳吗

热门文章

  1. 人工智能A7论坛2017年迄今最新人工智能资源盘点
  2. java单向链表按顺序插入节点
  3. DOM获取符合条件的父级节点
  4. D轮融资10亿元,“无名氏”城云科技是怎么混上来的?
  5. javaweb之初识SSM
  6. Problem B. S06-07 工业产值(翻一番问题log函数简单秒解方法)
  7. 北大“一个人的毕业照”主人公,2010级古生物专业独苗,十年后搞起了AI
  8. 破解第二课 JMP法
  9. 天津市行政区划 (2023)
  10. iphone 4s丢失照片怎么恢复