青云为「足记」App 做的架构重组笔记

说明

大家最近应该都听说过 「足记」 吧, 非常火爆的 App 创业项目.

足记 在高速增长时暴露出来的问题, 还有 青云 作为基础架构提供商给出的解决方案, 是非常棒的架构案例, 在此分享给大家.

一些数据:

  • 网络流量升至 300M 左右;
  • 每秒请求数(qps)达到 3,000;
  • 每天 PV 接近 2 亿;
  • 新增用户每天将近 200 万;
  • 日活跃用户数(DAU)超过 300 万;
  • 累计用户超过 1,000 万并保持继续增长;

遇到的问题

  • 高峰期服务响应超时甚至不可用;
  • 低峰期请求处理缓慢,用户的直观感受就是经常刷新不了页面;
  • 为了应急采取了服务降级的手段,部分功能不可用;
  • 新功能开发已经停止;
  • 应用服务器 CPU 占用率偏高;
  • 10 台Web服务器的 CPU 利用率都达到80% - 90%, 急需水平扩容;
  • 数据库慢查询(耗时比较长的数据库查询语句)非常多,没有有效利用缓存,导致数据库压力过大、处理效率低。

解决方案

  • 将Web 服务器进行了水平扩容,将应用服务器数量扩充了三倍;
  • 使用 负载均衡器 做请求分发;
  • 数据库 Slave 集群, 提高数据库可用性;
  • 引入 Redis 数据库,将业务中对一致性要求不高又要频繁读写的数据结构(如计数器和列表)从 MySQL 迁移到 Redis,减少关系型数据库压力,提高查询效率;
  • 进一步增加缓存,降低缓存粒度,降低失效率,提高命中率;
  • 为所有资源添加监控告警;
  • 配置 AutoScaling ;

文章见这: 通过「足记」紧急技术支持过程看设计和运营一款优秀的移动社交App应该注意哪些技术问题

摈弃世俗浮躁,追求技术精湛
本帖已被设为精华帖!
Summer
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 6
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!