讲解了新浪微博架构的三个阶段,文字清晰:
第一个阶段:
特点
LAMP架构
Myisam搜索引擎
MPSS(Multi-Port Single Server)
单表、单库
问题
锁表
发微博慢
第二阶段:
特点
mysql主从数据库部署
memcache扩展改用libmemcached;
引入消息机制(MemcaheQ),异步发表微博;
微博推送用户分级,优先推送重点用户;
InnoDB搜索引擎
按时间分表,索引以mysql存放,内容采用nosql存储
问题
单点故障、“雪崩”
国内网络环境复杂,稳定性差
mysql复制延迟
热门事件、明星导致瞬间高峰
移动终端API需求
第三阶段:
特点
业务组件化,分拆成多个业务模块,形成各种小的应用服务
去中心化,避免单点及瓶颈
mysql数据库M-Master部署(IDC同步)
图片池应用服务等 去中心化
采用多级cache,本地cache、 memcache服务器、普通存储
微博数据表采用多维度索引
运维自动化:安装、部署、切换、所有手动尽量自动化
App 采用push模式
监控
问题
自动 化工具积累
评论1
最新资源