架构实战营模块 2- 微信朋友圈高性能架构
![架构实战营模块2-微信朋友圈高性能架构](https://static001.geekbang.org/infoq/2f/2f7be7b1e7650f63151a2b43ecacf385.png)
![](https://static001.geekbang.org/infoq/2f/2f7be7b1e7650f63151a2b43ecacf385.png)
设计理由:微信朋友圈的质量复杂度和业务复杂度均为中等,有一定的复杂度,业务比红包复杂一些,涉及到图片与短视频;有一定的并发,但是没有红包的峰值那么集中,朋友圈的峰值与平常的量级在 5-10 倍。
![](https://static001.geekbang.org/infoq/a0/a00b994df0e704fe1af575dc57b34847.png)
设计理由:发朋友圈与评论的量级相对较少,业务稍微简单,按时间线写入数据库中;浏览朋友圈的并发相对较大,需要从缓存中查询出朋友圈数据,浏览朋友圈的用户更多,是发圈和评论并发的两倍以上。
![](https://static001.geekbang.org/infoq/9b/9bbc0fe659a09720850c9851d9cf4051.png)
设计理由:将发朋友圈和评论放在一个服务中,将浏览朋友圈放一个新服务中,两个业务的特性差距较大,分开更利于按特定业务来优化各自服务的性能。
![](https://static001.geekbang.org/infoq/87/874a4781ae469994f3e97362ac4f1c38.png)
设计理由:
1、双机房保证高性能方案,需要时可以扩容到 3 机房,按地域就近访问南北机房。
2、也可以采用 CDN 和 OSS 对象存储来加速图片和短视频浏览,图片和短视频文件可以采用 FastDFS 或 Hadoop 来存储。
3、发朋友圈时可以采用消息队列 RocketMQ 来应对高峰并发,缓解对数据库的峰值压力。
4、双机房之间数据双向同步。
评论