Suche senden
Hochladen
美丽说的架构发展与变迁 New
•
2 gefällt mir
•
1,295 views
翀
翀 刘
Folgen
美丽说的架构发展与变迁
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 35
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
新浪微博redis技术演化
新浪微博redis技术演化
XiaoJun Hong
新浪微博分布式缓存与队列-2013版
新浪微博分布式缓存与队列-2013版
XiaoJun Hong
分布式缓存与队列
分布式缓存与队列
XiaoJun Hong
豆瓣数据架构实践
豆瓣数据架构实践
Xupeng Yun
大规模数据库存储方案
大规模数据库存储方案
XiaoJun Hong
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
Xuefeng Zhang
No sql@vip new
No sql@vip new
Chao Zhu
数据架构方面的一些探讨
数据架构方面的一些探讨
Chao Zhu
Empfohlen
新浪微博redis技术演化
新浪微博redis技术演化
XiaoJun Hong
新浪微博分布式缓存与队列-2013版
新浪微博分布式缓存与队列-2013版
XiaoJun Hong
分布式缓存与队列
分布式缓存与队列
XiaoJun Hong
豆瓣数据架构实践
豆瓣数据架构实践
Xupeng Yun
大规模数据库存储方案
大规模数据库存储方案
XiaoJun Hong
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
Xuefeng Zhang
No sql@vip new
No sql@vip new
Chao Zhu
数据架构方面的一些探讨
数据架构方面的一些探讨
Chao Zhu
深入淺出Node.JS
深入淺出Node.JS
國昭 張
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点
Chao Zhu
天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011
Yiwei Ma
一个“兼职Dba”的数据库运维经验谈
一个“兼职Dba”的数据库运维经验谈
Liang Xie
自助工具助Dba提升效率
自助工具助Dba提升效率
Chao Zhu
阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践
drewz lin
MySQL设计、优化、运维
MySQL设计、优化、运维
Jinrong Ye
中大型规模的网站架构运维 Saac
中大型规模的网站架构运维 Saac
Chao Zhu
架構設計-資料存取的選擇
架構設計-資料存取的選擇
國昭 張
MySQL运维那些事
MySQL运维那些事
Jinrong Ye
海通证券金融云思考与实践(数据技术嘉年华2017)
海通证券金融云思考与实践(数据技术嘉年华2017)
Zhaoyang Wang
海通证券数据库备份恢复云平台实践(OTN Tour Shanghai 2017)
海通证券数据库备份恢复云平台实践(OTN Tour Shanghai 2017)
Zhaoyang Wang
MySQL数据库设计、优化
MySQL数据库设计、优化
Jinrong Ye
Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题
XiaoJun Hong
我们的MySQL
我们的MySQL
Jinrong Ye
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
drewz lin
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统
美团点评技术团队
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践
jackbillow
大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化
XiaoJun Hong
新浪微博Feed服务架构
新浪微博Feed服务架构
XiaoJun Hong
大众点评网的技术变迁之路
大众点评网的技术变迁之路
jeffz
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
Shanda innovation institute
Weitere ähnliche Inhalte
Was ist angesagt?
深入淺出Node.JS
深入淺出Node.JS
國昭 張
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点
Chao Zhu
天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011
Yiwei Ma
一个“兼职Dba”的数据库运维经验谈
一个“兼职Dba”的数据库运维经验谈
Liang Xie
自助工具助Dba提升效率
自助工具助Dba提升效率
Chao Zhu
阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践
drewz lin
MySQL设计、优化、运维
MySQL设计、优化、运维
Jinrong Ye
中大型规模的网站架构运维 Saac
中大型规模的网站架构运维 Saac
Chao Zhu
架構設計-資料存取的選擇
架構設計-資料存取的選擇
國昭 張
MySQL运维那些事
MySQL运维那些事
Jinrong Ye
海通证券金融云思考与实践(数据技术嘉年华2017)
海通证券金融云思考与实践(数据技术嘉年华2017)
Zhaoyang Wang
海通证券数据库备份恢复云平台实践(OTN Tour Shanghai 2017)
海通证券数据库备份恢复云平台实践(OTN Tour Shanghai 2017)
Zhaoyang Wang
MySQL数据库设计、优化
MySQL数据库设计、优化
Jinrong Ye
Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题
XiaoJun Hong
我们的MySQL
我们的MySQL
Jinrong Ye
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
drewz lin
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统
美团点评技术团队
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践
jackbillow
大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化
XiaoJun Hong
新浪微博Feed服务架构
新浪微博Feed服务架构
XiaoJun Hong
Was ist angesagt?
(20)
深入淺出Node.JS
深入淺出Node.JS
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点
天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011
一个“兼职Dba”的数据库运维经验谈
一个“兼职Dba”的数据库运维经验谈
自助工具助Dba提升效率
自助工具助Dba提升效率
阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践
MySQL设计、优化、运维
MySQL设计、优化、运维
中大型规模的网站架构运维 Saac
中大型规模的网站架构运维 Saac
架構設計-資料存取的選擇
架構設計-資料存取的選擇
MySQL运维那些事
MySQL运维那些事
海通证券金融云思考与实践(数据技术嘉年华2017)
海通证券金融云思考与实践(数据技术嘉年华2017)
海通证券数据库备份恢复云平台实践(OTN Tour Shanghai 2017)
海通证券数据库备份恢复云平台实践(OTN Tour Shanghai 2017)
MySQL数据库设计、优化
MySQL数据库设计、优化
Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题
我们的MySQL
我们的MySQL
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践
大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化
新浪微博Feed服务架构
新浪微博Feed服务架构
Ähnlich wie 美丽说的架构发展与变迁 New
大众点评网的技术变迁之路
大众点评网的技术变迁之路
jeffz
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
Shanda innovation institute
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
iammutex
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
drewz lin
淘宝双11双12案例分享
淘宝双11双12案例分享
vanadies10
Nodejs & NAE
Nodejs & NAE
q3boy
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
锐 张
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub
Chao Zhu
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08
drewz lin
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
七牛云存储详解
七牛云存储详解
niuer7
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用
iammutex
Dreaming Infrastructure
Dreaming Infrastructure
kyhpudding
Data Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouse
Jack Gao
豆瓣网技术架构变迁
豆瓣网技术架构变迁
reinhardx
App house
App house
Fred Chien
Taobao数据库这5年
Taobao数据库这5年
yp_fangdong
Tdsql在微众银行核心交易系统中的实践 雷海林
Tdsql在微众银行核心交易系统中的实践 雷海林
Cheng Feng
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Joshua Zhu
Ähnlich wie 美丽说的架构发展与变迁 New
(20)
大众点评网的技术变迁之路
大众点评网的技术变迁之路
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
淘宝双11双12案例分享
淘宝双11双12案例分享
Nodejs & NAE
Nodejs & NAE
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08
合久必分,分久必合
合久必分,分久必合
七牛云存储详解
七牛云存储详解
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用
Dreaming Infrastructure
Dreaming Infrastructure
Data Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouse
豆瓣网技术架构变迁
豆瓣网技术架构变迁
App house
App house
Taobao数据库这5年
Taobao数据库这5年
Tdsql在微众银行核心交易系统中的实践 雷海林
Tdsql在微众银行核心交易系统中的实践 雷海林
Hacking Nginx at Taobao
Hacking Nginx at Taobao
美丽说的架构发展与变迁 New
1.
2.
美丽说的架构发展
与变迁 演讲者:⺩王曦 Copyright ©2012 Meilishuo.com 1
3.
故事,是这样开始的…
2
4.
2009年11月,我们有了⼀一个想法 ⽤用最⽜牛逼的技术,
帮助⼥女孩⼦子变漂亮 3
5.
在一个居民楼里开始了我们的旅程
北京海淀区华清嘉园2号楼905 4
6.
美丽说:Connect woman and
all beau<ful things • 美丽说是中国最大的女性时尚购物社区 • 我们是帮助女孩子变漂亮的地方 • 我们的目标用户是5000万的白领和准白领女性 • 从第一天起,我们帮她们解决“怎么穿?哪里买”的问题 • 我们用最好的互联网技术重塑女性时尚行业 • 我们是时尚女 + 技术男 = Zara + Apple • 我们带给女孩子最美的自己,我们拥抱中国时尚行业成长 5
7.
浏览器插件:快速验证了用户需求 •
IE浏览器插件 • 获取⽤用户正在浏览的⺴⽹网址 • 整合⼀一个聊天室的功能 • 可以现实商品的图⽚片、 描述、价格等信息 • ⼏几⼗十个试⽤用⼥女孩⼦子 • 让⼥女⽣生上班的时候也有 逛街的感觉 • ⼏几周内迅速⽕火爆 • ⼥女孩⼦子是有需求的 6
8.
7
9.
终于决定做网站了 • 当时的产品被定位成⼀一个“垂直的微博” –
开源还是⾃自⼰己写代码? • ⼀一切决策来源于时间 点的要求 • 开源的其实还挺好⽤用的 • 最终还是决定⾃自⼰己来写J 8
10.
9
11.
开始于LAMP • 10年1与到10年3月,
PHP 2个月的开发时间 • 纯LAMP架构 MYSQL 商品 图片 用户 关系 • Insert/select的结构 维护各种关系 APACHE • 没有使⽤用Memcache 等技术 Linux • 基于正则表达式的爬 ⾍虫 10
12.
第一个问题出现了 • 图⽚片太多了,⼀一台服务器放不下 • 考虑硬盘损坏的问题,图⽚片⻓长期放在⼀一
个机器上⾯面也不保险,需要有冗余 • 解决⽅方法其实有很多种,但是我们选择 了最悲剧的⼀一种: – ⽐比如NFS – ⽐比如TFS – 但是我们选择了moose FS…… 11
13.
第一次架构演化
SQUID APACHE APACHE(静态文件) PHP mooseFS文件系统(mount) MEMCACHE MYSQL mooseFS MASTER mooseFS SLAVE mooseFS SLAVE mooseFS SLAVE SPHINX 12
14.
出现问题 • Moose fs
Master 只能有⼀一台 • Moose FS master使⽤用内存来维护⽂文件 索引,⼀一个机器的内存只有8G,moose F S⾃自⼰己就⽤用了9G,系统变得很慢 • ⽤用户访问⽂文件的时候会卡死 • 从⽽而导致moose FS master死机 • 死机后恢复内存索引要若干⼩小时 • 然后继续出问题 13
15.
第二次架构演化
APACHE SQUID Nginx PHP APACHE MEMCACHE+FASTCGI MEMCACHE 静态文件 CSS+JS MYSQL mlsDB 把碎片文件存储成若干 个大的文件 SPHINX 14
16.
Happy Problem • ⽤用户的发⾔言每天越来越多,数据表达到上亿⾏行 •
⼩小红⼼心是⽤用户表达的⼀一种重要⼿手段,⾼高峰时段会出现写瓶 颈 • ⽤用户快速增⻓长,⽤用户的关系数据也越来越多,SELECT/ INSERT的⽅方法获取⽤用户TIMELINE效率极低,经常卡死 数据库 15
17.
解决方法 • MYSQL中间层-数据托管服务的出现(内
部代号:STORAGE) • 使⽤用Redis存储⽤用户的Timeline数据 • 使⽤用Redis存储⽤用户的⼩小红⼼心表达 • 使⽤用Redis存储⽤用户和⽤用户直接的关系 • 异步的⽅方式写回数据库,保存数据完整性 16
18.
第三次架构演化
NGINX MEMCACHE FASTCGI REDIS 数据库A STORAGE SPHINX REDIS 数据库B_1 数据库B_2 数据库B_3 17
19.
稳定性和访问速度变得很重要 • 系统问题
– 单点故障问题 – 国内复杂的网络环境 – 内网带宽竟然不够了! • 整站依然经常崩溃 – 慢SQL查询,造成数据库卡死 – 问题代码上线后会导致整个系统崩溃 • 出现问题后很难快速定位问题并解决 18
20.
解决方法 • 买了很多服务器 •
网络设备上面千万不能马虎 ,一定要用IDC使用的专业设 备(背板带宽很重要) • 使用CDN提供图片服务,主ID C只做数据源 • 使用脚本野蛮绞杀运行时间超 过5S的SQL • 重新思考我们的架构,如何 更加稳定? • 希望通过SOA的方法来给服务 解耦合 19
21.
2012年1月设计的一张架构设想图
20
22.
第四次架构演化 PHP前端àNode.JS
无线API 图片服务 图片数据源 小红心 用户管理 消息读写 用户关系 私信 评论 Redis代理 API Cache代理 数据库 Storage 搜索 队列 爬虫 图片处理 九宫格服务 ANTI-‐SPAM 并发代理 平台服务 基础服务 21
23.
前后端彻底分离 • 从前在一起的时候,使用的是传统的MVC结构,前端其实就
是指:JS+CSS+Smarty模板部分。J • 后来我们把他们分开了,变成了前端+API的形式 • 新前端使用node.js,一个最大特点就是:支持事件驱动(并 发) • 前端分开以后,前端和后端可以分开上线 • 后端更focus在数据逻辑、数据流转和数据处理上面 • 前端更focus在客户端逻辑和性能上面 数据可以并发获取 Node.js前端 PHP API 22
24.
请求一 请求二 请求三 请求四 请求五
23
25.
24
26.
九图合一 九宫格服务
25
27.
ANTI-‐SPAM •
WEB2.0注射很烦⼈人,美丽说⼯工程师很⽣生⽓气 • 刷排名 • 注册用户 • 广告信息 • 黄反信息 NGINX日志 ANTI-‐SPAM模块 前端 26
28.
27
29.
多地IDC的实现
Redis代理 Redis写队列 Redis写队列 Redis代理 MYSQL master MYSQL master 本地机房 外地机房 28
30.
其他几点经验分享 • 监控很重要,要尽早做
– 服务的存活 – 硬盘空间 – 内网的带宽 • 最初的方法简单可依赖就行,不要追求 架构完美 29
31.
关于技术团队 • 创业公司技术团队的特点:
– ⼈人员年轻,缺乏经验 – ⼤大家有热情,干劲⼗十⾜足 • 着重培养有潜⼒力的⼈人,某⼀一⽅方⾯面的技术专家很重要 • 有进步要⿎鼓励、有错误要惩罚,切忌拔苗助⻓长 • 极致细节,培养责任感 • 明确时间点和优先级 • 尽量缩短项⺫⽬目的周期 • Leader⼀一定要多读⼯工程师的代码,及时发现问题及时指正 30
32.
⼀一些数据分享 •
2009年11月,6个⼈人的公司 • 2009年12月,浏览器插件上线 • 2010年3月8⽇日⺴⽹网站正式上线 • 2011年10月,流量和⽤用户爆发式增⻓长 • 2012年11月,美丽说整整三年 • 3亿 Request/天 • ⾼高峰时段:5000 Request/秒 ,21点-23点 • 300万⼩小红⼼心/天 • 200万⽤用户分享/天 31
33.
Q & A
32
34.
谢谢⼤大家
33
Jetzt herunterladen