微信朋友圈高性能结构设计构想
部署图
通过 DNS 确定 IP,把用户划分区域访问,分散流量。
业务拆解:
通过业务拆解
使得各个业务互不干扰,其中一个崩了,不会影响到另外几个;
读写分离,提高性能
读服务:
通过 Redis 缓存加速读服务,利用 Mysql 分库分表,分散压力
mongodb 处理文本,解决 mysql 读取文本量大,读取性能提升
图片使用 CDN 加速缓存,用户体验好,
缓存失效或者查 MySQL,或者每隔一段时间刷新 Redis 读服务器的缓存
写服务
通过 Kafka 队列异步,削峰,限流,使得服务器能承受,达到用户体验好,发布先在本机手机端缓存,然后发到服务器队列消费,手机端再异步获取消费情况。
Mysql 新增,或者每隔一段时间刷新 Redis 读服务器的缓存
版权声明: 本文为 InfoQ 作者【我不是坏人】的原创文章。
原文链接:【http://xie.infoq.cn/article/660258a3a9b31f22264957752】。文章转载请联系作者。
评论