Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
百度贴吧LAMP架构
Search
Reeze Xia
July 01, 2013
Technology
1
1.3k
百度贴吧LAMP架构
百度贴吧架构的发展历史及未来
Reeze Xia
July 01, 2013
Tweet
Share
More Decks by Reeze Xia
See All by Reeze Xia
HHVM: A High Performance PHP Engine
reeze
3
130
百度贴吧HHVM应用实践
reeze
6
1.3k
百度贴吧服务端性能优化实践
reeze
5
1.7k
Other Decks in Technology
See All in Technology
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
440
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
3
6.9k
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
190
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
370
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
270
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
1.7k
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
450
論文紹介:LLMDet (CVPR2025 Highlight)
tattaka
0
310
Operating Operator
shhnjk
1
540
面倒な作業はAIにおまかせ。Flutter開発をスマートに効率化
ruideengineer
0
230
ビズリーチにおけるリアーキテクティング実践事例 / JJUG CCC 2025 Spring
visional_engineering_and_design
1
110
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
2
6.5k
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Raft: Consensus for Rubyists
vanstee
140
7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Thoughts on Productivity
jonyablonski
69
4.7k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
How GitHub (no longer) Works
holman
314
140k
The Pragmatic Product Professional
lauravandoore
35
6.7k
GitHub's CSS Performance
jonrohan
1031
460k
BBQ
matthewcrist
89
9.7k
Building Applications with DynamoDB
mza
95
6.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Designing for humans not robots
tammielis
253
25k
Transcript
百度贴吧LAMP架构 夏绪宏 @reeze PHPCon China 2013|
AGENDA 1. 贴吧简介 2. 贴吧架构发展历史 3. 架构现状及未来
None
贾君鹏你妈妈喊你回家吃饭 关于贴吧架构,元芳,你怎么看? ⽩白富美,⾼高富帅
TECHNOLOGY STACK • Nginx • C/PHP • Mysql、分布式数据库 • Memcached
• NoSQL ์ϔ Nginx C PHP MySQL Memca ched NoSQL
概况 • 30+⼦子系统 • 200+模块 • ⼗十亿级PV • 亿级提交量 •
T级数据
贴吧架构发展历史
• 三个阶段 1. 性能稳定性优先 2. 迭代速速优先 3. 平台化,运维效率,敏捷,⾃自动化优先 架构演进 ྟି
םս ᄎົ
性能优先 • 产品开始功能较少:⾸首⻚页,主题列表及帖⼦子 • 追求性能和稳定性
历程 • 08年 :C前后端,专有存储 • < 1亿PV < 400w发帖 •
业务规模⼩小,迭代慢 • 业界缺乏成熟开源⽅方案
历程 • C编写业务实现成本偏⾼高 • 项⺫⽬目动辄⼀一两个月,周期太⻓长 • 新项⺫⽬目越来越多,对迭代开发速度开始要求
迭代开发速度优先 • 09年-10年 • 存储更多采⽤用MySQL • 前端PHP化 • 异构后端,增加交互中间层
交互中间件 • 统⼀一资源定位,负载均衡 • 屏蔽交互细节,后端可以是任何的协议和数据打包格式。 • 后端资源配置收敛,简化运维 • 资源包括:后端C模块,LAMP模块,Mysql,cache等 •
以PHP扩展形式实现:除⾮非真的很必要,不要⽤用扩展。
问题 1. 业务规模开始变⼤大,模块增多 2. 并⾏行开发问题 3. C模块运维代价上升 4. 后端开发效率不⾼高
• 11年 ~:规模,业务爆发 • ⼗十亿级PV,亿级提交 • 40+前端模块,70+C后端模块 • 每周~100+并⾏行项⺫⽬目 •
移动⽆无线业务爆发式增⻓长 平台化,可运维
历程 • 11年- ~:规模,业务爆发 • 通⽤用化,集群化 • 前后端LAMP化 • 服务化:系统划分,API
LAMP化 • C -> PHP • 有状态 -> ⽆无状态 Share
Nothing • 专有存储 -> 通⽤用存储 • RPC: ⾃自有协议 -> HTTP协议
性能下降 • 预期之内 • 响应时间变⻓长:PHP本⾝身的性能消耗 • 吞吐下降
LAMP化 1. ⾼高层cache nginx cache: • 减少php消耗。节省~50%+机器 • 2ms ->10ms
-> 2ms 2. 并⾏行化:后端请求并⾏行化 Cache DB
• 后端调⽤用串⾏行变并⾏行 • 185ms -> 63ms • 只是理想情况 • 现实业务⽐比这复杂
理想架构 • 开发效率:快速迭代,并⾏行开发,简单统⼀一的规范 • 运维上线效率:⾃自动化运维,可扩展 • 可扩展:可插拔,模块化,系统划分 • 开发速度 +
运维效率 > 性能
⽔水平分层
08年的贴吧模块依赖关系
⼦子系统划分
全流程平台化 • 开发:基准环境 快速构建 • 测试:持续集成, 在线测试OTP • 上线:快速上线,⾃自动化上线 •
运⾏行环境:ORP (Online Runtime Platform) • 在线监控:OMP(Online Management Platform) षؿ ҩ൫ ഈཌ ᄎྛ ࡓ॥
、 w( Re( k( 8V@ <=5;G 7s( ^~ #
0r 8V@ 5;G zs( $ "! gL zsNX 6a $ $ $ $ [M( ^~ `&to "! _I( H+Y <=Y H+Y QB( v| * jT9hE 0r 8V@ -, n}O( % -, uwbm n}H+q fu?\ .x/2 d]?\ A3q HDS 'i1C *yJ) ZlH'iK W4DS>P 'i:U u'i u?\bm {NX zsNX /}pc -FNX NX H+NX
、 w( Re( k( 8V@ <=5;G 7s( ^~ #
0r 8V@ 5;G zs( $ "! gL zsNX 6a $ $ $ $ [M( ^~ `&to "! _I( H+Y <=Y H+Y QB( v| * jT9hE 0r 8V@ -, n}O( % -, uwbm n}H+q fu?\ .x/2 d]?\ A3q HDS 'i1C *yJ) ZlH'iK W4DS>P 'i:U u'i u?\bm {NX zsNX /}pc -FNX NX H+NX
测试:持续集成 • ⾃自动(架构,编码)规范检查 • 减少QA⼈人⼒力成本 • 提⾼高代码质量
运维 1. 上线,扩容流程复杂,⾃自动化程度不⾼高。 2. 模块混部,关联复杂,⼿手动维护代价⾼高 3. 资源利⽤用率不⾼高
运维 • 构建⾃自有PaaS云平台:ORP(Online Runtime Platform) ★ 统⼀一运维 ★ 资源隔离: 资源保证
★ 充分利⽤用资源 ★ 弹性调度
w( Re( k( 8V@ <=5;G 7s( ^~ # 0r
8V@ 5;G zs( $ "! gL zsNX 6a $ $ $ $ [M( ^~ `&to "! _I( H+Y <=Y H+Y QB( v| * jT9hE 0r 8V@ -, n}O( % -, uwbm n}H+q fu?\ .x/2 d]?\ A3q HDS 'i1C *yJ) ZlH'iK W4DS>P 'i:U u'i u?\bm {NX zsNX /}pc -FNX NX H+NX
架构模型
收益 • 上线效率: 30-45分钟 -> 5-10分钟 • ⼈人⼒力成本降低:中⼩小产品线⽆无需专⻔门OP • 机器利⽤用率提升:总体节省约40%+
上线质量保证 • 分级灰度发布 • ⾃自动化在线功能测试 • 实时监控整合 • 及时发现上线问题,控制影响 ೬އ
ֆ ྐ ຩ๙
-* #%$ ) +
" & " " " " " " " " " .' / (,!
CONCLUSION • LAMP化 • 运维效率,平台化,⾃自动化。 • 展望: • 基础性能优化:Nginx, PHP
• 云平台的进⼀一步优化:打通全流程,⾃自动化上线等。
贴吧欢迎你 • Talk to me • Resumes are welcome •
Email:
[email protected]
• Follow me:微博 @reeze • http://github.com/reeze • http://www.php-internals.com 说好的PHP 执⾏行及Zend
引擎呢?
参考 1.《贴吧LAMP解决⽅方案》http://stblog.baidu-tech.com/?p=1324 2.《⽼老⺩王的技术博客》http://blog.sina.com.cn/zgwangbo001