微博评论高性能高可用计算架构
计算性能预估
假设每 100 个看微博的人中有 10 人发布评论,发布评论的次数为:
250 亿*0.1=25 亿
发布评论的时间段与看微博的时间段基本重合,发布评论的平均 TPS 为:
25 亿*60%/(4*3600)≈10W/S。
非热点事件时的高性能计算架构
发布评论虽然与发微博相关性大,但其重要性低于发微博看微博,故可以拆分为单独服务。
使用多级负载均衡,完整 4 级负载均衡架构。
发布评论依赖登录状态,同时也与所评论微博相关,发布评论也有热点问题,因此不能使用哈希应当使用“轮询”或者“随机”算法。
10W/S 的 TPS 使用 200 台服务器。
热点事件时的高可用计算架构
【发评论】
发生热点事件时,发评论的频率较平常会大幅增加,但会发评论的人相对较少,且评论时效性要求不高,考虑用漏桶算法变种 - 写缓冲。
【看评论】
热点事件发生后,绝大多数的请求会集中在前几页中。可以考虑“多副本缓存”,由于原有的缓存架构已经采用了“进程内缓存”,总体上来看,缓存热点问题其实不一定很突出。仍然无法抗住流量时,可对看评论进行降级处理,以保障核心业务稳定运行。
评论