写点什么

微信朋友圈高性能架构

用户头像
Geek_db27b5
关注
发布于: 38 分钟前

概述

本文主要从微信朋友圈的动态、评论、点赞几个方面来分析朋友圈的高性能架构。

设计与实现

动态设计

首先我们要明确以下几个问题:

1、动态是一个读多写少的业务

2、发布的动态自己可以随时查看

3、动态对好友有可查看时效


存储高性能我们使用 mysql+influxdb 来存储,mysql 用来存储发布动态的内容,influxdb 用来存储需要推送给好友的内容。(使用 influxdb 的原因是首先从查看动态是基于时间线来查看的,而 influxdb 是一种时序数据库,同时动态是一个读夺写少的业务,因此我们采用写放大的模式,为每个好友建立一个队列,在发布动态的时候,向好友队列中写入动态,集群中使用 key 值做 hash)


动态高性能方案设计如下:


动态高性能架构方案如下:

评论点赞设计


由于评论点赞的数据量较大,并且容忍性较高,因此我们使用 NoSql 来持久化数据,redis cluster 来缓存数据


高性能设计方案:


高性能架构方案:


总体架构



用户头像

Geek_db27b5

关注

还未添加个人签名 2019.10.07 加入

还未添加个人简介

评论

发布
暂无评论
微信朋友圈高性能架构