Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
百度贴吧LAMP架构
Search
Reeze Xia
July 01, 2013
Technology
1.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
百度贴吧LAMP架构
百度贴吧架构的发展历史及未来
Reeze Xia
July 01, 2013
More Decks by Reeze Xia
See All by Reeze Xia
HHVM: A High Performance PHP Engine
reeze
3
150
百度贴吧HHVM应用实践
reeze
6
1.3k
百度贴吧服务端性能优化实践
reeze
5
1.8k
Other Decks in Technology
See All in Technology
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
8
910
20260912_スクフェス三河
kgnkhkr
0
380
AI de Idea
kawaguti
PRO
2
110
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
Issue 駆動でスペシャリストの意図を届ける、AI 実装のアクセシビリティ向上
thkt
0
110
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
1
1.6k
Claude Code本って、 読む必要あるの?
oikon48
2
460
ユーザー価値を届け続けるためにウォンテッドリーが大切にしている文化
kotaminato
0
150
What the customer really needed
kawaguti
PRO
1
160
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
160
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
130
絵ではじめるKubernetesセキュリティ
aoi1
3
550
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Designing Experiences People Love
moore
143
24k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
720
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
420
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
Why Our Code Smells
bkeepers
PRO
340
58k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
Believing is Seeing
oripsolob
1
220
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
240
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