Redian新闻
>
How Twitter Handles Five Billion Sessions a Day
avatar
H*7
3
Go到底有没有前途 很难讲 顶替py只是时间问题 代替cpp困难

★ 发自iPhone App: ChineseWeb 8.7

【在 N*****m 的大作中提到】
: 又看见了golang
avatar
p*2
4
t也用go了?

【在 N*****m 的大作中提到】
: 又看见了golang
avatar
N*m
5
第一幅图就是啊

【在 p*****2 的大作中提到】
: t也用go了?
avatar
N*m
7
基本上除了g, m这种自己就提供IaaS的,都在用吧

【在 a9 的大作中提到】
: 这是在学微信吗?
: 另外问一下,现在amazon的云计算规模到底大到什么程度了?连twitter也在用?

avatar
c*o
8


【在 N*****m 的大作中提到】
: 基本上除了g, m这种自己就提供IaaS的,都在用吧
avatar
N*m
9
这个图太老了

【在 c******o 的大作中提到】

avatar
p*2
10

go确实是劳工型的语言呀,l为什么不转go?

【在 N*****m 的大作中提到】
: 第一幅图就是啊
avatar
f*t
12
不错,golang继续壮大
avatar
s*o
13
都跑题了,这篇文章跟go没多大关系!
avatar
t*e
14
instagram 每天sessions数目都比twitter多了。。
avatar
g*g
16
这个完全没有vendor lockin,AWS ELB就是一个 load balancer,跟应用无关。后面的
Endpoint是个service layer,也是必须的。

【在 d*******r 的大作中提到】
: Device -> AWS ELB -> Go endpoint -> Kafka
: https://g.twimg.com/blog/blog/image/answers_architecture_screenshot1_0.png
: 虽然我会用 ELB, 但是也不想用这种 vendor lock 的方案,
: 有直接 Device -> Kafka 的方案么?

avatar
z*e
17
google infra最近也搞了load balancer,针对游戏的solution
我看国内的阿里云也搞了这个,这个不同cloud之间能通用不?

【在 g*****g 的大作中提到】
: 这个完全没有vendor lockin,AWS ELB就是一个 load balancer,跟应用无关。后面的
: Endpoint是个service layer,也是必须的。

avatar
g*g
18
load balancer最简单的理解就是把traffic round robin,没响应的节点不发而已,跟
应用完全无关,自己是个cluster。所有的云都有。哪怕一个简单的cluster也得有load
balancer. 不同云之间的lockin主要是在存储上。

【在 z****e 的大作中提到】
: google infra最近也搞了load balancer,针对游戏的solution
: 我看国内的阿里云也搞了这个,这个不同cloud之间能通用不?

avatar
w*m
20
push方向,有storm做的实时分词的dashboard
pull方向,储存包给Amazon固然方便,但最大的缺点是计算和储存分离。S3无法原地
map reduce。受制于IO,只有先把数据从S3拖到cassandra。没法实现复杂一点的
feature,比如搜索,竞价,预测什么的。
看来,只有建自己infrastructure的,像facebook,google,amazon等才有竞争力
avatar
g*g
21
如果你的应用本身就跑在AWS上就没这个问题。完全可以数据先存入AWS上的Cassandra
再MP。

【在 w********m 的大作中提到】
: push方向,有storm做的实时分词的dashboard
: pull方向,储存包给Amazon固然方便,但最大的缺点是计算和储存分离。S3无法原地
: map reduce。受制于IO,只有先把数据从S3拖到cassandra。没法实现复杂一点的
: feature,比如搜索,竞价,预测什么的。
: 看来,只有建自己infrastructure的,像facebook,google,amazon等才有竞争力

avatar
d*r
22
请问 goodbug, Nehalem,
我不想要 web service (图里的 Golong 那部分).
比如我就想从 mobile device 发回 log messages,
不能直接从 mobile device -> Kafka 吗?
AWS ELB 我在用, Kafka 主要是不能提供 LB 的 single DNS_name --> multiple host
这种 mappging 吗?
avatar
w*m
23
个人觉得twitter和netflix不一样。netflix的S3前面是Cassandra。Twitter好像从
kafka到storm然后就是S3了。
而且twitter还要有timeline的服务,他们用的是redis做cache。https://www.youtube
.com/watch?v=rP9EKvWt0zo
这篇博文根本没提到,奇怪

Cassandra

【在 g*****g 的大作中提到】
: 如果你的应用本身就跑在AWS上就没这个问题。完全可以数据先存入AWS上的Cassandra
: 再MP。

avatar
B*g
24
开始用spark了吗?

Cassandra

【在 g*****g 的大作中提到】
: 如果你的应用本身就跑在AWS上就没这个问题。完全可以数据先存入AWS上的Cassandra
: 再MP。

avatar
N*m
25
你可以直接往kafka写数据,问题是kafka没有安全保护

host

【在 d*******r 的大作中提到】
: 请问 goodbug, Nehalem,
: 我不想要 web service (图里的 Golong 那部分).
: 比如我就想从 mobile device 发回 log messages,
: 不能直接从 mobile device -> Kafka 吗?
: AWS ELB 我在用, Kafka 主要是不能提供 LB 的 single DNS_name --> multiple host
: 这种 mappging 吗?

avatar
g*g
26
这不是可不可以的问题,是一个基本的架构问题。Kafka跟一个数据库没有区别。一个
Client-server-DB 相对于Client-DB 的好处这里都可以体现。基本没有人那么做。

host

【在 d*******r 的大作中提到】
: 请问 goodbug, Nehalem,
: 我不想要 web service (图里的 Golong 那部分).
: 比如我就想从 mobile device 发回 log messages,
: 不能直接从 mobile device -> Kafka 吗?
: AWS ELB 我在用, Kafka 主要是不能提供 LB 的 single DNS_name --> multiple host
: 这种 mappging 吗?

avatar
g*g
27
Twitter需要做实时分析,Netflix不需要,不奇怪。

youtube

【在 w********m 的大作中提到】
: 个人觉得twitter和netflix不一样。netflix的S3前面是Cassandra。Twitter好像从
: kafka到storm然后就是S3了。
: 而且twitter还要有timeline的服务,他们用的是redis做cache。https://www.youtube
: .com/watch?v=rP9EKvWt0zo
: 这篇博文根本没提到,奇怪
:
: Cassandra

avatar
d*r
28
@ goodbug, Nehalem
有 Kafka 配套轻量级的 end device solution 吗? 给 Kafka message 做认证校验啥
的.
你们的意思是, kafka 肯定是在 server cluster 以内范围使用了?
加个 LB + web servers 也是加个 cluster, 多了一层总是增加不少工作量.
如果我只是 upload log messages, 加了这一层的话, end device 端相当于也是用
http POST 来上传 log message了, 那 kafka 那些原生的 client lib 也不能在
device 端用了, device 端得自己做 sending queuing, buffering 啥的了.
avatar
g*g
29
没有中间这一层一个恶意用户就能搞死后端。另外server应用层还可以用来做
filtering, aggregation, enhancement, multi-routing等等。这就是通常的做法。当
然没有人阻止你直接写,只要你想好了后果就行。

【在 d*******r 的大作中提到】
: @ goodbug, Nehalem
: 有 Kafka 配套轻量级的 end device solution 吗? 给 Kafka message 做认证校验啥
: 的.
: 你们的意思是, kafka 肯定是在 server cluster 以内范围使用了?
: 加个 LB + web servers 也是加个 cluster, 多了一层总是增加不少工作量.
: 如果我只是 upload log messages, 加了这一层的话, end device 端相当于也是用
: http POST 来上传 log message了, 那 kafka 那些原生的 client lib 也不能在
: device 端用了, device 端得自己做 sending queuing, buffering 啥的了.

avatar
d*r
30
多谢指点

【在 g*****g 的大作中提到】
: 没有中间这一层一个恶意用户就能搞死后端。另外server应用层还可以用来做
: filtering, aggregation, enhancement, multi-routing等等。这就是通常的做法。当
: 然没有人阻止你直接写,只要你想好了后果就行。

avatar
p*2
32

刚才看了一下, 说是S2直接mr呀?

【在 w********m 的大作中提到】
: push方向,有storm做的实时分词的dashboard
: pull方向,储存包给Amazon固然方便,但最大的缺点是计算和储存分离。S3无法原地
: map reduce。受制于IO,只有先把数据从S3拖到cassandra。没法实现复杂一点的
: feature,比如搜索,竞价,预测什么的。
: 看来,只有建自己infrastructure的,像facebook,google,amazon等才有竞争力

avatar
p*2
33

技术上有可能直接写吗?我怎么感觉不可行?

【在 g*****g 的大作中提到】
: 没有中间这一层一个恶意用户就能搞死后端。另外server应用层还可以用来做
: filtering, aggregation, enhancement, multi-routing等等。这就是通常的做法。当
: 然没有人阻止你直接写,只要你想好了后果就行。

avatar
w*m
34
Amazon EMR 重建一堆EC2 instance的cluster,读S3的数据。
没法利用S3的计算能力。换句话,S3不能同时当EC2。
S3的内网网络传输能力再快,没有计算机内部的IO快。
这里twitter只有用EMR建立一个反向ETL的pipeline,把数据拖到cassandra,中间用
storm处理。
这种建构会对后继feature造成巨大的困难。比如应用spark,cluster里面的hadoop的
data node应该同时是spark cluster的slave。所以,twitter这种scale,应该自建
infrastructure的。

【在 p*****2 的大作中提到】
:
: 技术上有可能直接写吗?我怎么感觉不可行?

avatar
w*m
35
比如netflix,客户调用S3的视频。S3里面虽然有电影不同清晰度的50个版本,但因为
netflix不掌握存储,无法及时掌握客户的带宽,只有暂时先传一个不清晰的版本。客
户的体验不太好。
avatar
z*e
36
哪怕自己建infra也需要区分persistence和service
如果直接在s3上做的话,最后层次切割不明确
最后会导致s3上的东西越做越大,最后什么东西都往s3上堆
内网虽然不如计算机硬盘上的io快,但是便于扩展呀
你这样做下去的后果就是做成一台巨大的mainframe
map reduce本来就不应该是persistence应该做的事
数据的存储这一层做好存储就可以了,计算和存储的分离应该是最早的设计思路

【在 w********m 的大作中提到】
: push方向,有storm做的实时分词的dashboard
: pull方向,储存包给Amazon固然方便,但最大的缺点是计算和储存分离。S3无法原地
: map reduce。受制于IO,只有先把数据从S3拖到cassandra。没法实现复杂一点的
: feature,比如搜索,竞价,预测什么的。
: 看来,只有建自己infrastructure的,像facebook,google,amazon等才有竞争力

avatar
p*2
37
这个确实是
t应该有自己dc吧
是不是这套东西是aws的人过去搞起来的
我们公司也存在这种现象

【在 w********m 的大作中提到】
: Amazon EMR 重建一堆EC2 instance的cluster,读S3的数据。
: 没法利用S3的计算能力。换句话,S3不能同时当EC2。
: S3的内网网络传输能力再快,没有计算机内部的IO快。
: 这里twitter只有用EMR建立一个反向ETL的pipeline,把数据拖到cassandra,中间用
: storm处理。
: 这种建构会对后继feature造成巨大的困难。比如应用spark,cluster里面的hadoop的
: data node应该同时是spark cluster的slave。所以,twitter这种scale,应该自建
: infrastructure的。

avatar
p*2
38
hadoop有locality的设计

【在 z****e 的大作中提到】
: 哪怕自己建infra也需要区分persistence和service
: 如果直接在s3上做的话,最后层次切割不明确
: 最后会导致s3上的东西越做越大,最后什么东西都往s3上堆
: 内网虽然不如计算机硬盘上的io快,但是便于扩展呀
: 你这样做下去的后果就是做成一台巨大的mainframe
: map reduce本来就不应该是persistence应该做的事
: 数据的存储这一层做好存储就可以了,计算和存储的分离应该是最早的设计思路

avatar
z*e
39
源自rmi时代ejb的local接口
ejb的下场应该都很清楚了

【在 p*****2 的大作中提到】
: hadoop有locality的设计
avatar
g*g
40
这都是瞎说,视频都是放在CDN上的。开始不清晰是因为要buffering。客户的带宽是客
户决定的。

【在 w********m 的大作中提到】
: 比如netflix,客户调用S3的视频。S3里面虽然有电影不同清晰度的50个版本,但因为
: netflix不掌握存储,无法及时掌握客户的带宽,只有暂时先传一个不清晰的版本。客
: 户的体验不太好。

avatar
d*r
41
end device 往 Kafka 里send东西

internal server 往 Kafka 里send东西
技术上有区别?

【在 p*****2 的大作中提到】
: hadoop有locality的设计
avatar
g*g
42
没啥区别,只要服务器有外部IP,端口对外开就行。

【在 d*******r 的大作中提到】
: end device 往 Kafka 里send东西
: 和
: internal server 往 Kafka 里send东西
: 技术上有区别?

avatar
d*r
43
是啊, 我也觉得

【在 g*****g 的大作中提到】
: 没啥区别,只要服务器有外部IP,端口对外开就行。
avatar
p*2
44

有mobile的SDK吗?还是Kafka支持HTTP?我kafka研究不多。

【在 d*******r 的大作中提到】
: end device 往 Kafka 里send东西
: 和
: internal server 往 Kafka 里send东西
: 技术上有区别?

avatar
p*2
45

就查到了这个。这个也是利用dropwizard做web server吧?跟T那个没本质区别。大牛
是用那种方式直接从mobile写kafka呢?
HTTP REST
Apache Kafka HTTP Endpoint for producing and consuming messages from topics
Maintainer: Big Data Open Source Security LLC
License: Apache 2.0
https://github.com/stealthly/dropwizard-kafka-http

【在 d*******r 的大作中提到】
: 是啊, 我也觉得
avatar
d*r
46
我想的是各个语言的 (Java, C, C#) clients 直接就可以在相应的 mobile 上跑的,
不过看了下 clients, 貌似还有些特别的 dependencies, 可能不能直接在 mobile 上
跑, 我回头研究完再来讨论吧

【在 p*****2 的大作中提到】
:
: 就查到了这个。这个也是利用dropwizard做web server吧?跟T那个没本质区别。大牛
: 是用那种方式直接从mobile写kafka呢?
: HTTP REST
: Apache Kafka HTTP Endpoint for producing and consuming messages from topics
: Maintainer: Big Data Open Source Security LLC
: License: Apache 2.0
: https://github.com/stealthly/dropwizard-kafka-http

avatar
z*e
47
嘿嘿,vert.x v3就可以直接从客户端往bus里面塞msg
vert.x真是牛逼神器

【在 d*******r 的大作中提到】
: 我想的是各个语言的 (Java, C, C#) clients 直接就可以在相应的 mobile 上跑的,
: 不过看了下 clients, 貌似还有些特别的 dependencies, 可能不能直接在 mobile 上
: 跑, 我回头研究完再来讨论吧

avatar
d*r
48
从 mobile 端 就可以直接塞?
有相应的 mobile Ob-C, C, Java, C# lib 可以直接用吗?

【在 z****e 的大作中提到】
: 嘿嘿,vert.x v3就可以直接从客户端往bus里面塞msg
: vert.x真是牛逼神器

avatar
z*e
49
当然可以
2时代就已经支持js了
http://vertx.io/core_manual_js.html#using-the-event-bus-from-cl




【在 d*******r 的大作中提到】
: 从 mobile 端 就可以直接塞?
: 有相应的 mobile Ob-C, C, Java, C# lib 可以直接用吗?

avatar
z*e
52
你这种非主流的需求还想要大量普及性应用?
你这是找茬

【在 d*******r 的大作中提到】
: 有点意思, 不过测试的人不多呀
:
: modules
: client

avatar
d*r
53
没有找茬啦 >_<

【在 z****e 的大作中提到】
: 你这种非主流的需求还想要大量普及性应用?
: 你这是找茬

avatar
z*e
54
他们正在讨论这个该怎么做
https://groups.google.com/forum/#!msg/vertx/o2lcmzM2O_0/5l9oCycfZDYJ
要么等vert.x自己的protocol gateway
要么就用websocket发送json文件给vert.x的eventbus
这样就可以了,剩下的你就是去看websocket的文档了
当然要自己写和测试

【在 d*******r 的大作中提到】
: 没有找茬啦 >_<
avatar
p*2
56
就是个协议。其实大家都可以做。kafka是没有这个需求。
avatar
p*2
57
因该不能
你看到iphone得了吗

【在 d*******r 的大作中提到】
: 我想的是各个语言的 (Java, C, C#) clients 直接就可以在相应的 mobile 上跑的,
: 不过看了下 clients, 貌似还有些特别的 dependencies, 可能不能直接在 mobile 上
: 跑, 我回头研究完再来讨论吧

avatar
N*m
59
client支持java就可以了
有java client

【在 d*******r 的大作中提到】
: end device 往 Kafka 里send东西
: 和
: internal server 往 Kafka 里send东西
: 技术上有区别?

avatar
x*1
61
LB 是一种hardware。1个Billion requests也不算啥。 亚麻LB可以无限scale。 LB也
不是总是round robin requests。 round robin的latency会很差。 但新的LB刚开始加
入的时候,的确是rr。你会看到dashboard上的latency 呈现锯齿形。
S3, 不放计算在旁边是为了数据和计算分开。 EMR load 数据从S3到local的确会引入
不必要的latency。 以后也会考虑特殊的应用(对latency要求极高的),现在google
nearline storage , 1st bytes latency都是3s以内,对S3压力很大。
avatar
z*e
62
发信人: qxc (法界闲人), 信区: Programming
标 题: Re: 多线程,异步,并发冲突,fp和其它
发信站: BBS 未名空间站 (Mon Mar 16 13:25:33 2015, 美东)
现在有 fiber, 可是起上百万的 fiber, 而且还是 sync 的, 容易读。

google

【在 x*******1 的大作中提到】
: LB 是一种hardware。1个Billion requests也不算啥。 亚麻LB可以无限scale。 LB也
: 不是总是round robin requests。 round robin的latency会很差。 但新的LB刚开始加
: 入的时候,的确是rr。你会看到dashboard上的latency 呈现锯齿形。
: S3, 不放计算在旁边是为了数据和计算分开。 EMR load 数据从S3到local的确会引入
: 不必要的latency。 以后也会考虑特殊的应用(对latency要求极高的),现在google
: nearline storage , 1st bytes latency都是3s以内,对S3压力很大。

avatar
x*1
63
靠, 哪个startup能有这3个公司财大气粗。 就亚麻这套engineer infrastrtucture就
做了10年。 哪那么容易啊。

【在 w********m 的大作中提到】
: push方向,有storm做的实时分词的dashboard
: pull方向,储存包给Amazon固然方便,但最大的缺点是计算和储存分离。S3无法原地
: map reduce。受制于IO,只有先把数据从S3拖到cassandra。没法实现复杂一点的
: feature,比如搜索,竞价,预测什么的。
: 看来,只有建自己infrastructure的,像facebook,google,amazon等才有竞争力

avatar
d*r
64
自己搞的话, 应该用软件的吧, 比如 http://www.haproxy.org/

google

【在 x*******1 的大作中提到】
: LB 是一种hardware。1个Billion requests也不算啥。 亚麻LB可以无限scale。 LB也
: 不是总是round robin requests。 round robin的latency会很差。 但新的LB刚开始加
: 入的时候,的确是rr。你会看到dashboard上的latency 呈现锯齿形。
: S3, 不放计算在旁边是为了数据和计算分开。 EMR load 数据从S3到local的确会引入
: 不必要的latency。 以后也会考虑特殊的应用(对latency要求极高的),现在google
: nearline storage , 1st bytes latency都是3s以内,对S3压力很大。

avatar
N*m
65
小柯的这个料不错,我都没注意到
s3现在的1st byte latency是多少?

google

【在 x*******1 的大作中提到】
: LB 是一种hardware。1个Billion requests也不算啥。 亚麻LB可以无限scale。 LB也
: 不是总是round robin requests。 round robin的latency会很差。 但新的LB刚开始加
: 入的时候,的确是rr。你会看到dashboard上的latency 呈现锯齿形。
: S3, 不放计算在旁边是为了数据和计算分开。 EMR load 数据从S3到local的确会引入
: 不必要的latency。 以后也会考虑特殊的应用(对latency要求极高的),现在google
: nearline storage , 1st bytes latency都是3s以内,对S3压力很大。

avatar
w*m
66
同意楼上,大侠能告诉S3的1st byte latency吗?
我想比较一下netflix和youtube的buffering time。
avatar
w*z
67
3s? 太夸张了吧?

google

【在 x*******1 的大作中提到】
: LB 是一种hardware。1个Billion requests也不算啥。 亚麻LB可以无限scale。 LB也
: 不是总是round robin requests。 round robin的latency会很差。 但新的LB刚开始加
: 入的时候,的确是rr。你会看到dashboard上的latency 呈现锯齿形。
: S3, 不放计算在旁边是为了数据和计算分开。 EMR load 数据从S3到local的确会引入
: 不必要的latency。 以后也会考虑特殊的应用(对latency要求极高的),现在google
: nearline storage , 1st bytes latency都是3s以内,对S3压力很大。

avatar
N*m
68
最长时间吧
如果bucket在亚洲,美国的request是有可能

【在 w**z 的大作中提到】
: 3s? 太夸张了吧?
:
: google

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。