模块五作业
设计微博系统中“微博评论”的高性能高可用计算架构
1、计算性能预估
在前面课程学习到的,日活 2.5 亿,平均每人每天发 1 条微博,1 条微博平均被阅读 100 次,集中在高峰的 4 个小时内,计算得到的写微博 tps=10k/s,看微博 qps=1000k/s。
根据案例来预估写评论的情况,假设转发为写微博,则评论相对于写微博的比例在 10%,则预估微博评论的性能要求在 tps=1k/s;
2、非热点事件时的高性能计算架构
常规情况下,没有出现热点则考虑写微博和评论微博合并为一个服务,评论没有增加太多的 tps 要求。
考虑到写微博和写评论的实时性要求并不一样,写评论可以增加写缓冲功能(Buffer),从这个角度看,写评论值得拆分独立服务。
在一些敏感事件时可以适当降级,停掉评论功能(后端逻辑阻止评论)。
3、热点事件时的高可用计算架构
出现热点事件时,写评论与写微博的比例不止 10%,可能是一条微博会有几十万的评论,在 60 分钟内完成。
预估 100 万评论在 1 小时内完成,则性能要求平均 tps=100/s。(实际应该不止?从微博经常爆出明星出轨事件导致服务崩溃的情况来看)。
热点事件容易造成对同一个微博进行写评论,是热点 key 的问题,此时应该结合多副本缓存功能应对热点 key。
版权声明: 本文为 InfoQ 作者【Honey拯救世界】的原创文章。
原文链接:【http://xie.infoq.cn/article/5ec3db040938ecca09153c566】。未经作者许可,禁止转载。
评论