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
エンジニアリングマネージャーの成長の道筋とキャリア / Developers Summit 2025 KANSAI
daiksy
1
290
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
160
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
210
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
240
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
300
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
Agile PBL at New Grads Trainings
kawaguti
PRO
1
440
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
730
2025年夏 コーディングエージェントを統べる者
nwiizo
0
180
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
230
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
980
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
513
110k
Building Adaptive Systems
keathley
43
2.7k
The Invisible Side of Design
smashingmag
301
51k
Documentation Writing (for coders)
carmenintech
74
5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Speed Design
sergeychernyshev
32
1.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Visualization
eitanlees
148
16k
Become a Pro
speakerdeck
PRO
29
5.5k
Automating Front-end Workflow
addyosmani
1370
200k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
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