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
140
百度贴吧HHVM应用实践
reeze
6
1.3k
百度贴吧服务端性能优化实践
reeze
5
1.7k
Other Decks in Technology
See All in Technology
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
570
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
660
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
260
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1k
pool.ntp.orgに ⾃宅サーバーで 参加してみたら...
tanyorg
0
550
Context Engineeringの取り組み
nutslove
0
380
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
610
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
160
Agile Leadership Summit Keynote 2026
m_seki
1
670
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
270
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
140
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Six Lessons from altMBA
skipperchong
29
4.2k
Test your architecture with Archunit
thirion
1
2.2k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
98
Code Reviewing Like a Champion
maltzj
527
40k
Code Review Best Practice
trishagee
74
20k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
130
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
310
Raft: Consensus for Rubyists
vanstee
141
7.3k
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