模块 5 作业
性能评估
每日微博浏览人次为 250 亿次,冗余预估 30%次数微博浏览过程中用户会留下评论,60%的评论发生在高峰时段。
高峰时段微博评论 QPS 大概 为 250 亿 x 30% x 60% / (4 x 3600)= 300k/s。
假设 250 亿次看微博的评论行为大概占到 50%,高峰时间看微博 QPS 预估为 250 亿 x 50% x 60% / (4 x 3600)= 500k/s。
非热点事件高性能架构
由 QPS 可以看出,读写需求都比较高,要将写评论跟看评论拆为不同的微服务。
写评论为节省资源,可以高峰时期采用缓存措施逐步写入系统,看评论可以直接从缓存读取。
需要处理能力 1k/s 的写评论缓存服务器 350 台。
需要处理能力 1k/s 的看评论服务器 600 台。
如果考虑使用 CDN,假设 CDN 能承载 90%的流量,看评论服务器可以减少为 60 台。
看评论缓存设计需要 3 级缓存,包括客户端缓存,CDN 缓存,web 容器缓存,应用内缓存,分布式缓存。
看微博只需要客户端缓存,和分布式缓存即可。
热点事件评论设计
将原创微博的写评论请求采用漏铜算法限流,将写评论请求放在消息队列中。逐步写入缓存及持久化存储容器内。
将原创热点评论写入热点专用缓存内,热点专用缓存内的内容逐步同步到持久化存储容器内。
评论