华仔架构实战营 - 作业 - 模块 2
朋友圈高性能复杂度的分析
可以看出发朋友圈对性能对要求更高,同时对数据库写的能力要求也高。
高性能方案 - 发朋友圈
因为朋友圈的功能是在微信 app 的基础上做的新增功能开发,所以进程模型,网络模型和缓存模型保存不变。前端采用负载均衡,按照 IP hash 的规则将请求转发到后面 3 台应用服务器,并最终将数据保存到数据库中。数据库采用关系型数据库,并进行分库分表,以提高写入到性能。
高性能方案 - 看朋友圈
使用 Redis 缓存数据,提高读的速度,进而提高终端用户看朋友圈的性能。
朋友圈高性能方案 - 整体架构
整体采用集群架构,使用 3 机房共同处理用户请求。前端使用 Nginx 集群做负载均衡,采用 IP hash 策略转发请求。写数据先保存在 Redis 缓存中,并最终保存到后端的 MySQL 数据库集群。数据库采用 sharding 分库分表策略以提高写入数据的性能。读请求可以直接访问 Redis,而不需要访问底层的 MySQL 数据库。
版权声明: 本文为 InfoQ 作者【曲元洪】的原创文章。
原文链接:【http://xie.infoq.cn/article/6522ad7086068019e2a650179】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论