Suche senden
Hochladen
互联网分布式系统架构分享-Qcon2011
•
3 gefällt mir
•
654 views
Yiwei Ma
Folgen
Melden
Teilen
Melden
Teilen
1 von 38
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
微博实时搜索
微博实时搜索
亚军 汪
realtime-twitter-search
realtime-twitter-search
亚军 汪
Storm
Storm
Phoenix Zhang
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储
zhen chen
學好 node.js 不可不知的事
學好 node.js 不可不知的事
Ben Lue
Nosql七种武器之长生剑 mongodb的使用介绍
Nosql七种武器之长生剑 mongodb的使用介绍
yczealot
nodejs在微博前端开发中的应用
nodejs在微博前端开发中的应用
dong yuwei
Memcached分享
Memcached分享
princehaku
Empfohlen
微博实时搜索
微博实时搜索
亚军 汪
realtime-twitter-search
realtime-twitter-search
亚军 汪
Storm
Storm
Phoenix Zhang
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储
zhen chen
學好 node.js 不可不知的事
學好 node.js 不可不知的事
Ben Lue
Nosql七种武器之长生剑 mongodb的使用介绍
Nosql七种武器之长生剑 mongodb的使用介绍
yczealot
nodejs在微博前端开发中的应用
nodejs在微博前端开发中的应用
dong yuwei
Memcached分享
Memcached分享
princehaku
分布式系统浅谈
分布式系统浅谈
song_son
Qq game后台架构及开发介绍
Qq game后台架构及开发介绍
mysqlops
ssdc-移动互联网技术挑战
ssdc-移动互联网技术挑战
zhen chen
What is new in JUnit5
What is new in JUnit5
Richard Langlois P. Eng.
面向生产环境的SOA系统设计 by 程立
面向生产环境的SOA系统设计 by 程立
Dahui Feng
MongoDB's index and query optimize
MongoDB's index and query optimize
mysqlops
基于用户行为的数据分析
基于用户行为的数据分析
mysqlops
Mysql handlersocket
Mysql handlersocket
pwesh
Mysql遇到的一些问题
Mysql遇到的一些问题
wang tongchao
Optimzing mysql
Optimzing mysql
liufabin 66688
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
iammutex
Cassandra简介.ppt
Cassandra简介.ppt
james tong
MySQL基础技能与原理——基本原理
MySQL基础技能与原理——基本原理
Michael Zhang
内部MySQL培训.3.基本原理
内部MySQL培训.3.基本原理
Lixun Peng
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba
Cevin Cheung
2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江
thinkinlamp
2011 06-12-lamp-mysql
2011 06-12-lamp-mysql
pwesh
Mysql introduction-and-performance-optimization
Mysql introduction-and-performance-optimization
isnull
Mysql数据库开发的三十六条军规 石展_完整
Mysql数据库开发的三十六条军规 石展_完整
Yousri Yan
My sql数据库开发的三十六条军规
My sql数据库开发的三十六条军规
isnull
MySQL数据库开发的三十六条军规
MySQL数据库开发的三十六条军规
mysqlops
PHP Coding Standard and 50+ Programming Skills
PHP Coding Standard and 50+ Programming Skills
Ho Kim
Weitere ähnliche Inhalte
Andere mochten auch
分布式系统浅谈
分布式系统浅谈
song_son
Qq game后台架构及开发介绍
Qq game后台架构及开发介绍
mysqlops
ssdc-移动互联网技术挑战
ssdc-移动互联网技术挑战
zhen chen
What is new in JUnit5
What is new in JUnit5
Richard Langlois P. Eng.
面向生产环境的SOA系统设计 by 程立
面向生产环境的SOA系统设计 by 程立
Dahui Feng
MongoDB's index and query optimize
MongoDB's index and query optimize
mysqlops
基于用户行为的数据分析
基于用户行为的数据分析
mysqlops
Andere mochten auch
(7)
分布式系统浅谈
分布式系统浅谈
Qq game后台架构及开发介绍
Qq game后台架构及开发介绍
ssdc-移动互联网技术挑战
ssdc-移动互联网技术挑战
What is new in JUnit5
What is new in JUnit5
面向生产环境的SOA系统设计 by 程立
面向生产环境的SOA系统设计 by 程立
MongoDB's index and query optimize
MongoDB's index and query optimize
基于用户行为的数据分析
基于用户行为的数据分析
Ähnlich wie 互联网分布式系统架构分享-Qcon2011
Mysql handlersocket
Mysql handlersocket
pwesh
Mysql遇到的一些问题
Mysql遇到的一些问题
wang tongchao
Optimzing mysql
Optimzing mysql
liufabin 66688
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
iammutex
Cassandra简介.ppt
Cassandra简介.ppt
james tong
MySQL基础技能与原理——基本原理
MySQL基础技能与原理——基本原理
Michael Zhang
内部MySQL培训.3.基本原理
内部MySQL培训.3.基本原理
Lixun Peng
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba
Cevin Cheung
2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江
thinkinlamp
2011 06-12-lamp-mysql
2011 06-12-lamp-mysql
pwesh
Mysql introduction-and-performance-optimization
Mysql introduction-and-performance-optimization
isnull
Mysql数据库开发的三十六条军规 石展_完整
Mysql数据库开发的三十六条军规 石展_完整
Yousri Yan
My sql数据库开发的三十六条军规
My sql数据库开发的三十六条军规
isnull
MySQL数据库开发的三十六条军规
MySQL数据库开发的三十六条军规
mysqlops
PHP Coding Standard and 50+ Programming Skills
PHP Coding Standard and 50+ Programming Skills
Ho Kim
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)
Kris Mok
Lamp高性能设计
Lamp高性能设计
锐 张
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Joshua Zhu
Sql Server 高级技巧系列之三整体优化
Sql Server 高级技巧系列之三整体优化
向 翔
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
mysqlops
Ähnlich wie 互联网分布式系统架构分享-Qcon2011
(20)
Mysql handlersocket
Mysql handlersocket
Mysql遇到的一些问题
Mysql遇到的一些问题
Optimzing mysql
Optimzing mysql
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
Cassandra简介.ppt
Cassandra简介.ppt
MySQL基础技能与原理——基本原理
MySQL基础技能与原理——基本原理
内部MySQL培训.3.基本原理
内部MySQL培训.3.基本原理
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba
2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql
2011 06-12-lamp-mysql
Mysql introduction-and-performance-optimization
Mysql introduction-and-performance-optimization
Mysql数据库开发的三十六条军规 石展_完整
Mysql数据库开发的三十六条军规 石展_完整
My sql数据库开发的三十六条军规
My sql数据库开发的三十六条军规
MySQL数据库开发的三十六条军规
MySQL数据库开发的三十六条军规
PHP Coding Standard and 50+ Programming Skills
PHP Coding Standard and 50+ Programming Skills
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)
Lamp高性能设计
Lamp高性能设计
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Sql Server 高级技巧系列之三整体优化
Sql Server 高级技巧系列之三整体优化
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
Mehr von Yiwei Ma
Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qcon
Yiwei Ma
Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qcon
Yiwei Ma
Taobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qcon
Yiwei Ma
Alibaba server-zhangxuseng-qcon
Alibaba server-zhangxuseng-qcon
Yiwei Ma
Zhongxing practice-suchunshan-qcon
Zhongxing practice-suchunshan-qcon
Yiwei Ma
Taobao practice-liyu-qcon
Taobao practice-liyu-qcon
Yiwei Ma
Thoughtworks practice-hukai-qcon
Thoughtworks practice-hukai-qcon
Yiwei Ma
Ufida design-chijianqiang-qcon
Ufida design-chijianqiang-qcon
Yiwei Ma
Spring design-juergen-qcon
Spring design-juergen-qcon
Yiwei Ma
Netflix web-adrian-qcon
Netflix web-adrian-qcon
Yiwei Ma
Google arch-fangkun-qcon
Google arch-fangkun-qcon
Yiwei Ma
Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qcon
Yiwei Ma
Alibaba arch-jiangtao-qcon
Alibaba arch-jiangtao-qcon
Yiwei Ma
Twitter keynote-evan-qcon
Twitter keynote-evan-qcon
Yiwei Ma
Netflix keynote-adrian-qcon
Netflix keynote-adrian-qcon
Yiwei Ma
Facebook keynote-nicolas-qcon
Facebook keynote-nicolas-qcon
Yiwei Ma
Domainlang keynote-eric-qcon
Domainlang keynote-eric-qcon
Yiwei Ma
Devjam keynote-david-qcon
Devjam keynote-david-qcon
Yiwei Ma
Baidu keynote-wubo-qcon
Baidu keynote-wubo-qcon
Yiwei Ma
淘宝线上线下性能跟踪体系和容量规划-Qcon2011
淘宝线上线下性能跟踪体系和容量规划-Qcon2011
Yiwei Ma
Mehr von Yiwei Ma
(20)
Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qcon
Taobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qcon
Alibaba server-zhangxuseng-qcon
Alibaba server-zhangxuseng-qcon
Zhongxing practice-suchunshan-qcon
Zhongxing practice-suchunshan-qcon
Taobao practice-liyu-qcon
Taobao practice-liyu-qcon
Thoughtworks practice-hukai-qcon
Thoughtworks practice-hukai-qcon
Ufida design-chijianqiang-qcon
Ufida design-chijianqiang-qcon
Spring design-juergen-qcon
Spring design-juergen-qcon
Netflix web-adrian-qcon
Netflix web-adrian-qcon
Google arch-fangkun-qcon
Google arch-fangkun-qcon
Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qcon
Alibaba arch-jiangtao-qcon
Alibaba arch-jiangtao-qcon
Twitter keynote-evan-qcon
Twitter keynote-evan-qcon
Netflix keynote-adrian-qcon
Netflix keynote-adrian-qcon
Facebook keynote-nicolas-qcon
Facebook keynote-nicolas-qcon
Domainlang keynote-eric-qcon
Domainlang keynote-eric-qcon
Devjam keynote-david-qcon
Devjam keynote-david-qcon
Baidu keynote-wubo-qcon
Baidu keynote-wubo-qcon
淘宝线上线下性能跟踪体系和容量规划-Qcon2011
淘宝线上线下性能跟踪体系和容量规划-Qcon2011
互联网分布式系统架构分享-Qcon2011
1.
互联网分布式系统架构分享
54chen (陈臻) @ Qcon czhttp@gmail.com http://www.54chen.com 2011-04-10
2.
互联网在中国 1987年第一封电子邮件:穿越长城,走向 世界 分布式系统:近几年发展活跃
3.
常见的搭配
mySQL Memcached •大量数据放在内存中 •极致优化mySQL •读写数据有套路
4.
Mysql-memcached搭配-读 先从memcached读取 如果有值,返回
如果无值,从mysql读取,返回并写 memcache
5.
Mysql-memcached搭配-写 写入mysql,产生对应的key后删除 memcache的值 而节点之间的关系又如何呢?
6.
Memcached节点间
读取加速 一致性hash 失效影响只到部分数据 读多写少:凑合
7.
Mysql上动作 同步备份
大多数一主多从 垂直划分业务,多个一主多从 读多写少:凑合。
8.
即便如此 使用mysql 还需要 在代码中 小心翼翼 请看示例
9.
小心翼翼的使用举例-忘记where 举例:delete from table_name 应该:delete
from table_name where id = ? 习惯性加上limit 操作之前: 连对机器了么?写条件了么?要备份么?
10.
小心翼翼的使用举例-操作列 举例:date(time_column) = “2009-06-09” 应该:date
between “2009-06-09 00:00:00” and “2009-06-09 23:59:59” 举例:timestamp + 3600 > unix_timestamp() 应该:timestamp > unix_timestamp() – 3600 举例:order by view_count + post_count * 5 应该:单搞一列叫weight
11.
小心翼翼的使用举例-忘记引号
mobile varchar(14) not null 举例:where mobile = 13800138000 应该: where mobile = “13800138000”
12.
小心翼翼的使用举例-limit的问题 举例:select * from
table limit limit 60000000, 100 应该:select * from table where id>60000000 limit 100
13.
小心翼翼的使用举例-rand的问题 举例:select * from
online_user order by rand() limit 100 应该: select * from online_user where page = $rand_page select * from online_user where id > $rand_pos limit 100 select * from online_user + memcached …
14.
任何一个不小心 Mysql锁死 速度慢 负载高
15.
让coding更加轻松 不担心 够放心 睡安心
16.
Dynamo 去年很热的no-sql Key-value
非常不错的各种实现
17.
进入Dynamo的世界 一致性哈希 CAP原则 Merkle Tree Gossip协议 hinted handoff数据 向量时钟
18.
进入Dynamo的世界 目标:99.9%的请求延迟要在300毫秒以内 数据同步与负载均衡
19.
一致性哈希 保障数据在有节点变动时影响范围最小 Dynamo设计时,使用了虚拟节点的概念
20.
虚拟节点 虚拟节点让负载均衡 即便有节点变动也负载均衡
21.
CAP原则 Consistency(一致性) Consistency(一致性) Availability(可用性) Availability(可用性)
tolerance(分区容错性) Partition tolerance(分区容错性) 定理:任何分布式系统只可同时满足二点,没法三者兼顾。 忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。 NRW: Dynamo的CAP
22.
NRW N:复制的次数; R:读数据的最小节点数; W:写成功的最小分区数。
23.
NRW:这三个数的具体作用 用来灵活地调整Dynamo系统的可用性与一致性。 例: 如果R=1,表示最少只需要去一个节点读数据即可,读到即返回,这 时是可用性是很高的,但并不能保证数据的一致性, 如果说W同时为1,那可用性更新是最高的一种情况,但这时完全不 能保障数据的一致性,因为在可供复制的N个节点里,只需要写成功 一次就返回了,也就意味着,有可能在读的这一次并没有真正读到需 要的数据(一致性相当的不好)。 如果W=R=N=3,每次写的时候,都保证所有要复制的点都写成功, 读的时候也是都读到,这样子读出来的数据一定是正确的,但是其性 能大打折扣,也就是说,数据的一致性非常的高,但系统的可用性却 非常低了。 如果R + W
> N能够保证我们“读我们所写”,Dynamo推荐使用322的 组合。
24.
Merkle Tree 将每一个数据对应的key-value建立成一个hash
tree 微小的变化也会引发顶层的不一致 用来通知各同步节点之间的分区数据变化
25.
Gossip协议 当集群里的一个节点出现故障 或者增加一个节点 周知各节点的协议
26.
什么是Gossip协议?
27.
什么是Gossip协议?
28.
hinted handoff数据 当集群里的一个节点出现故障
数据自动进入临近的节点handoff区 收到恢复通知后自动恢复handoff数据
29.
向量时钟 vector clock
在写入数据时,各个节点对数据本身都一个向量记录 在读取多个节点时,进行向量计算从而得出最正确结果 [a,1] a节点 时钟计数1 [b,2] b节点 时钟计数2
30.
向量时钟 vector clock
在写入数据时,各个节点对数据本身都一个向量记录 在读取多个节点时,进行向量计算从而得出最正确结果 [a,1] a节点 时钟计数1 [b,2] b节点 时钟计数2
31.
这些,构成Dynamo
32.
然后是cassandra Facebook出品 2008年开源
Cassandra最初作者Avinash Lakshman (Amazon's Dynamo的作者之一)
33.
Cassandra偷懒的地方 大分区 Cassandra未用vector clock,而只用 client timestamps
简化了冲突选择
34.
Cassandra牛X的地方 实现了bigTable 数据模型 基于列族 (Column Family)
35.
然后是voldemort LinkedIn出品 重点在使用Hadoop存放收集整理数据 定死了节点数量
36.
国内一些dynamo产品 人人网nuclear 豆瓣beansdb 淘宝Tair 新浪sina-sdd …
37.
感谢始祖
38.
Thanks
54chen(陈臻) czhttp@gmail.com http://www.54chen.com
Jetzt herunterladen