您的位置:首页 > 运维架构 > 网站架构

Twitter架构

2015-12-07 15:38 791 查看
Twitter一个最大特点就是用户产生大量数据,每天有7TB数据要保存。
使用apache Hadoop进行存储和分析数据,。如果依赖硬盘80MB/S,需要24小时才能写完7TB数。可以在62秒内对1TB数据排序,有分布式文件系统,基于Mapreduce算法。

传统方式

传统方式有三个:

1. MySQL的水平和垂直分区

2. 使用分布式缓存Memcached

3. 通过应用程序管理。

这些方式问题:

1.存在很多单点风险,一台服务器当机,整个应用崩溃

2.硬件密集型

3.人手密集型

4.紧耦合。



使用了memcached和MySQL的读延迟:



问题:

写吞吐量
MYSQL经常死锁
创建一个新的分区需要手工脏活累活



使用HBase和Cassandra与MYSQL协同

HBase容易实现输入 输出的批处理工作,Cassandra则不擅长;
HBase在namenode中有SPOF,HBase用于数据分析,而Cassandra用于在线实时系统。
使用Cassandra保存所有tweets,可容错,有高的写通过率。
标准的读写操作用MySQL,而动态的读写用Cassandran。



Twiiter的大数据:收集数据

scribe用于日志记录 包括监视写入HDFS的日志
主要用于收集数据,大数据来源。
前后端各种语言的操作都写入。有三十多种不同分类
持续与Facebook不断改进Scribe
https://github.com/traviscrawford/scribe
多层次的日志记录



Twitter的大数据第二步:存储和分析数据

每天7TB数据存在Hadoop中
下图是对每个tweet数据进行总数统计的Map/Reduce示意:



Hadoop可以解决下面两个分析挑战:

如何发现用户的朋友等社会关系统计?如果使用MySQL大概需要......
大量总数统计,类似Select count(*) from users和 select count(*) from tweets;

Twitter的大数据第三步:通过Pig机器学习



FlockDB

https://github.com/twitter/flockdb
如何将一个tweet消息传递给其关注者和回复者的跟随者们?这两个人分别有大概4.7M个跟随者。



下页


Twitter 从Ruby的Rails移植到Java


Twitter在Ruby-to-Java迁移后才在总统大选中活下来


更多伸缩性scalable讨论


Facebook架构


LinkedIn架构


CAP原理和BASE思想


大数据


集群



使用了memcached和MySQL的读延迟:



问题:

写吞吐量
MYSQL经常死锁
创建一个新的分区需要手工脏活累活



使用HBase和Cassandra与MYSQL协同

HBase容易实现输入 输出的批处理工作,Cassandra则不擅长;
HBase在namenode中有SPOF,HBase用于数据分析,而Cassandra用于在线实时系统。
使用Cassandra保存所有tweets,可容错,有高的写通过率。
标准的读写操作用MySQL,而动态的读写用Cassandran。



Twiiter的大数据:收集数据

scribe用于日志记录 包括监视写入HDFS的日志
主要用于收集数据,大数据来源。
前后端各种语言的操作都写入。有三十多种不同分类
持续与Facebook不断改进Scribe
https://github.com/traviscrawford/scribe
多层次的日志记录



Twitter的大数据第二步:存储和分析数据

每天7TB数据存在Hadoop中
下图是对每个tweet数据进行总数统计的Map/Reduce示意:



Hadoop可以解决下面两个分析挑战:

如何发现用户的朋友等社会关系统计?如果使用MySQL大概需要......
大量总数统计,类似Select count(*) from users和 select count(*) from tweets;

Twitter的大数据第三步:通过Pig机器学习



FlockDB

https://github.com/twitter/flockdb
如何将一个tweet消息传递给其关注者和回复者的跟随者们?这两个人分别有大概4.7M个跟随者。



下页


Twitter 从Ruby的Rails移植到Java


Twitter在Ruby-to-Java迁移后才在总统大选中活下来


更多伸缩性scalable讨论


Facebook架构


LinkedIn架构


CAP原理和BASE思想


大数据


集群

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: