AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

新浪博客架构分享(PHP) by 刘晓震

发布者 phper
发布于 1453251825501  浏览 5568 关键词 PHP, 架构 
分享到

第1页

新浪博客架构分享

刘晓震 新浪博客



刘晓震



30分钟



第2页

议程

• 新浪博客介绍 • 挑战 • 博客架构介绍 • 展望 • QA

新浪博客架构分享



第3页

新浪博客介绍

新浪博客是国内知名的博客服务,拥有高访问 流量的Web2.0动态应用类网站。 •>5年 •千万级用户 •几十亿数据记录 •十亿级PV/日 •亿级动态请求数/日

新浪博客架构分享



第4页

博客应用特点:

� 亿级访问 � 读多写少 � 热点用户 � 富媒体

挑战:

� 高访问量 � 用户体验 � 性能监控



挑战



新浪博客架构分享



第5页

博客架构介绍

新浪博客架构分享



第6页

• 系统层次



博客架构介绍



新浪博客架构分享



第7页

7层代理

•Nginx

� 多IDC部署 � HTML文件服务 � 代理服务 � Squid管理

新浪博客架构分享



第8页

静态化

• Squid

� 与Nginx对等部署 � 反向代理 � 静态缓存服务

新浪博客架构分享



第9页

静态缓存

� 缓存原则 � 数据内容类型及渲染方式 � 页面生成成本 � 访问量和命中率 � 更新复杂度 � 缓存命中率优化 � 减少冗余存储 � 忽略no-cache � 良好的URL设计 � 区分访问者和访问类型

新浪博客架构分享



第10页

动态应用层

• Apache+PHP组成Web服务单元

� 环境统一 配置和管理 � 按业务功能划分服务模块 � 代码一致且同步上线 � 可快速扩展

• 基于Memcacheq的消息队列系统

� 扩展消息格式 � 异常处理 � 伸缩性

新浪博客架构分享



第11页

数据缓存

• Memcached • 缓存类型

� 共享内存数据 � 结果数据 � 热点 � 索引、聚合数据

新浪博客架构分享



第12页

•缓存管理

�设计 �容量 �命中率



数据缓存



新浪博客架构分享



第13页

数据层

• Mysql数据库承担核心业务

� 关系查询 � 数据存储

• MemcacheDB作为KV存储

� 数据结构简单 � 高并发读写 � 可扩展能力强

新浪博客架构分享



第14页

数据层



• Mysql

� 冷热分离 � 大字段剥



� 简单使用



 热用户 普通用户 用户数 5000 6000万



访问量 1000万 1亿



冷热分离



存储量 60G



4T



备份策略 每天



速度



0.00 5秒



每周 0.03秒



原因

0.01%人占10%流量

效果

提升速度7倍 降低备份成本 数据安全提升



新浪博客架构分享



第15页

数据层

• Mysql

� 冷热分离 � 大字段剥离 � 简单使用

新浪博客架构分享



第16页

• 前端监控

�基调系统 �RiaDebug

• 后端监控

�Xdebug �back日志 �Syslog

• 系统监控



性能监控



第17页

展望

• 数据访问层--DAL • 接口请求合并--SSI • 缓存系统简化--Redis • 开放、结合--OpenAPI

新浪博客架构分享



第18页

欢迎加入新浪产品部技术团队

新浪微博:@刘晓震 xiaozhen@staff.sina.com.cn



支持文件格式:*.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。