微信朋友圈高性能复杂度分析模拟
一、复杂度分析(假设微信朋友圈并发量)
二、整体架构
从推测的并发量看出,看朋友圈的访问性能要求较高;发朋友圈和评论的写入性能和可用性要求接近;点赞的写入性能要相对更高一些,所以将看朋友圈、发朋友圈及评论和点赞拆分成不同的服务,同时朋友圈及评论数据、点赞数据存储分开。
三、发朋友圈及评论方案
使用负载均衡扩展集群性能,将数据分片存储在分布式关系型数据库。
四、看朋友圈方案
使用本地缓存增强单机性能,负载均衡扩展集群性能。
五、点赞方案
使用多线程 Reactor 模式批量读取和查询点赞数据,用 redis cluster 分片存储数据,为每条朋友圈创建 Redis List 记录点赞。
六、单机房示意图
评论