由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - The WhatsApp Architecture
相关主题
Re: Lehman Brothers C++ programmer interview赵策,速度学erlang
问一个思路:如何创建并监听虚拟网卡感觉Erlang不错,有必要学习一下吗?
An interview project: asynchronous socket programmingWhatsApp, SnapChat 都有自己的数据中心吗?
C++网络编程问题请推荐一本Socket Programming 的书吧
求建议:C++的TCP/IP编程库发现ramdisk不错,多个进程通信用文件就可以了,简单
10G网络到了$5000 reward to find a bug
Facebook Is Buying Huge Messenger App Whatsapp For $19 Bill (转载)想知道家在linux下都有什么c++ socket library
索男们跪下吧 $19B这个版看来是毁了
相关话题的讨论汇总
话题: erlang话题: whatsapp话题: tcp
进入Programming版参与讨论
1 (共1页)
c*****e
发帖数: 3226
1
看看c/c++ 人说的dream scalability done in erlang:
I came in with a healthy amount of skepticism since most of my previous high
-performance experience was with C/C++, but after we worked through some of
our bottlenecks (as described in my talk at last year’s Erlang Factory SF),
I came to realize that Erlang was a great fit for what we were doing. We
were achieving scalability goals on our hosts that we only dreamed about at
Yahoo!
2 million tcp connections on a single box
* http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/
* hardware spec: http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/
* http://mirkobonadei.com/interview-with-rick-reed/
* http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html
z****e
发帖数: 54598
2
现在随便是个语言都上来先揍一顿c++
c*****e
发帖数: 3226
3
我的post摆事实讲论据, 你又高屋建瓴的演讲了。

【在 z****e 的大作中提到】
: 现在随便是个语言都上来先揍一顿c++
z****e
发帖数: 54598
4
那你继续,erlang的fp我再琢磨琢磨

【在 c*****e 的大作中提到】
: 我的post摆事实讲论据, 你又高屋建瓴的演讲了。
c***d
发帖数: 996
5
erlang做message passing 可以, 做逻辑实在是不太行。

high
of
),
at

【在 c*****e 的大作中提到】
: 看看c/c++ 人说的dream scalability done in erlang:
: I came in with a healthy amount of skepticism since most of my previous high
: -performance experience was with C/C++, but after we worked through some of
: our bottlenecks (as described in my talk at last year’s Erlang Factory SF),
: I came to realize that Erlang was a great fit for what we were doing. We
: were achieving scalability goals on our hosts that we only dreamed about at
: Yahoo!
: 2 million tcp connections on a single box
: * http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/
: * hardware spec: http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/

g****t
发帖数: 31659
6
wechat不是比what's app用户还多? 是什么架构的?

high
of
),
at

【在 c*****e 的大作中提到】
: 看看c/c++ 人说的dream scalability done in erlang:
: I came in with a healthy amount of skepticism since most of my previous high
: -performance experience was with C/C++, but after we worked through some of
: our bottlenecks (as described in my talk at last year’s Erlang Factory SF),
: I came to realize that Erlang was a great fit for what we were doing. We
: were achieving scalability goals on our hosts that we only dreamed about at
: Yahoo!
: 2 million tcp connections on a single box
: * http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/
: * hardware spec: http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/

T********i
发帖数: 2416
7
这个是重点:>8000cores,Hundreds of terabytes of RAM
2M connections/server不算多。>70M Erlang messages per second,而且消息太简单
。比我们用的消息简单多了。

high
of
),
at

【在 c*****e 的大作中提到】
: 看看c/c++ 人说的dream scalability done in erlang:
: I came in with a healthy amount of skepticism since most of my previous high
: -performance experience was with C/C++, but after we worked through some of
: our bottlenecks (as described in my talk at last year’s Erlang Factory SF),
: I came to realize that Erlang was a great fit for what we were doing. We
: were achieving scalability goals on our hosts that we only dreamed about at
: Yahoo!
: 2 million tcp connections on a single box
: * http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/
: * hardware spec: http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/

c*****e
发帖数: 3226
8
怎么可能一个节点8000 cores, Hundreds of terabytes of RAM ! 脑残吧。
你给我攒一台?

【在 T********i 的大作中提到】
: 这个是重点:>8000cores,Hundreds of terabytes of RAM
: 2M connections/server不算多。>70M Erlang messages per second,而且消息太简单
: 。比我们用的消息简单多了。
:
: high
: of
: ),
: at

v***e
发帖数: 2108
9
用Erlang写系统也有一段时间了,我只能说这种语言写并发程序
上手快,因为有一套gen_server之类的东西让你用,你不用去关心
那些底层的IPC, message passing, shared memory management的东西。
Erlang semantics sucks big,程序复杂了之后难以维护和调试,
compiler很弱,dialyzer极慢,debugger差不多是个Joke,很多
很简单的错误你要到runtime crash,之后才知道,个人认为不适
合写太复杂的东西。

high
of
),
at

【在 c*****e 的大作中提到】
: 看看c/c++ 人说的dream scalability done in erlang:
: I came in with a healthy amount of skepticism since most of my previous high
: -performance experience was with C/C++, but after we worked through some of
: our bottlenecks (as described in my talk at last year’s Erlang Factory SF),
: I came to realize that Erlang was a great fit for what we were doing. We
: were achieving scalability goals on our hosts that we only dreamed about at
: Yahoo!
: 2 million tcp connections on a single box
: * http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/
: * hardware spec: http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/

T********i
发帖数: 2416
10
这个是全部server加起来。他们自己blog写的。
效率还是不错啦。有人号称用php一周写出来是扯蛋。
但是也没有什么特别之处。
Standard user facing server:
Dual Westmere Hex-core (24 logical CPUs);
100GB RAM, SSD;
Dual NIC (public user-facing network, private back-end/distribution);

【在 c*****e 的大作中提到】
: 怎么可能一个节点8000 cores, Hundreds of terabytes of RAM ! 脑残吧。
: 你给我攒一台?

相关主题
10G网络到了赵策,速度学erlang
Facebook Is Buying Huge Messenger App Whatsapp For $19 Bill (转载)感觉Erlang不错,有必要学习一下吗?
索男们跪下吧 $19BWhatsApp, SnapChat 都有自己的数据中心吗?
进入Programming版参与讨论
d*******r
发帖数: 3299
11
大牛你们又用 couchbase, 又用 Erlang 写 app?

【在 v***e 的大作中提到】
: 用Erlang写系统也有一段时间了,我只能说这种语言写并发程序
: 上手快,因为有一套gen_server之类的东西让你用,你不用去关心
: 那些底层的IPC, message passing, shared memory management的东西。
: Erlang semantics sucks big,程序复杂了之后难以维护和调试,
: compiler很弱,dialyzer极慢,debugger差不多是个Joke,很多
: 很简单的错误你要到runtime crash,之后才知道,个人认为不适
: 合写太复杂的东西。
:
: high
: of

m******t
发帖数: 635
12
赞用Erlang的大牛
跑题下:只看过Programming Erlang,很好的一本书。

【在 v***e 的大作中提到】
: 用Erlang写系统也有一段时间了,我只能说这种语言写并发程序
: 上手快,因为有一套gen_server之类的东西让你用,你不用去关心
: 那些底层的IPC, message passing, shared memory management的东西。
: Erlang semantics sucks big,程序复杂了之后难以维护和调试,
: compiler很弱,dialyzer极慢,debugger差不多是个Joke,很多
: 很简单的错误你要到runtime crash,之后才知道,个人认为不适
: 合写太复杂的东西。
:
: high
: of

c*****e
发帖数: 3226
13
2m tcp connections / node. 不是全部 server 加起来。

distribution);

【在 T********i 的大作中提到】
: 这个是全部server加起来。他们自己blog写的。
: 效率还是不错啦。有人号称用php一周写出来是扯蛋。
: 但是也没有什么特别之处。
: Standard user facing server:
: Dual Westmere Hex-core (24 logical CPUs);
: 100GB RAM, SSD;
: Dual NIC (public user-facing network, private back-end/distribution);

T********i
发帖数: 2416
14
我就是指的是per node呀。12 core 100G memory。
2M TCP/mode很特别么?2M是相对比较稳定的。这个硬件7-8M以内没啥大问题。
连接请求处理速度会打折扣。如果用户频繁连接断开,性能会有所下降。但是这是TCP
persistent connection,即使smartphone也是这样的。不会频繁断开像HTTP一样。
连接请求能达到1M connection requests/second就不错了。

【在 c*****e 的大作中提到】
: 2m tcp connections / node. 不是全部 server 加起来。
:
: distribution);

c*****e
发帖数: 3226
15
这个硬件7-8M以内没啥大问题? 你可真会大嘴巴跑火车!你有什么数据支持
这是人家运行的实际数据:
http://highscalability.com/blog/2014/2/26/the-whatsapp-architec
Peaked at 2.8M connections per server
571k pkts/sec, >200k dist msgs/sec
Made some memory optimizations so VM load was down to 70%.
Tried 3 million connections, but failed.

TCP

【在 T********i 的大作中提到】
: 我就是指的是per node呀。12 core 100G memory。
: 2M TCP/mode很特别么?2M是相对比较稳定的。这个硬件7-8M以内没啥大问题。
: 连接请求处理速度会打折扣。如果用户频繁连接断开,性能会有所下降。但是这是TCP
: persistent connection,即使smartphone也是这样的。不会频繁断开像HTTP一样。
: 连接请求能达到1M connection requests/second就不错了。

T********i
发帖数: 2416
16
VM load 70%就说明问题了。
只要提及load这个词就知道他们什么水平了。
如果你看不出来,和你也没啥好说的。

【在 c*****e 的大作中提到】
: 这个硬件7-8M以内没啥大问题? 你可真会大嘴巴跑火车!你有什么数据支持
: 这是人家运行的实际数据:
: http://highscalability.com/blog/2014/2/26/the-whatsapp-architec
: Peaked at 2.8M connections per server
: 571k pkts/sec, >200k dist msgs/sec
: Made some memory optimizations so VM load was down to 70%.
: Tried 3 million connections, but failed.
:
: TCP

c***d
发帖数: 996
17
load 70% 说明啥问题了?

【在 T********i 的大作中提到】
: VM load 70%就说明问题了。
: 只要提及load这个词就知道他们什么水平了。
: 如果你看不出来,和你也没啥好说的。

g*****g
发帖数: 34805
18
呵呵,你就别细问了。太监就是喜欢拍脑袋装逼,一上细节就露馅了。本来就是做客户
端的,服务器端的东西完全不懂。

【在 c***d 的大作中提到】
: load 70% 说明啥问题了?
e********3
发帖数: 18578
19
最后一篇文章信息量很大,收藏学习了。

high
of
),
at

【在 c*****e 的大作中提到】
: 看看c/c++ 人说的dream scalability done in erlang:
: I came in with a healthy amount of skepticism since most of my previous high
: -performance experience was with C/C++, but after we worked through some of
: our bottlenecks (as described in my talk at last year’s Erlang Factory SF),
: I came to realize that Erlang was a great fit for what we were doing. We
: were achieving scalability goals on our hosts that we only dreamed about at
: Yahoo!
: 2 million tcp connections on a single box
: * http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/
: * hardware spec: http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/

g*****g
发帖数: 34805
20
不知道2M怎么实现的。当年我们做过类似的架构, Ephemeral port的限制很讨厌,后来
是在一台机器上起10个虚拟机,每个能支持5万连接。
相关主题
请推荐一本Socket Programming 的书吧想知道家在linux下都有什么c++ socket library
发现ramdisk不错,多个进程通信用文件就可以了,简单这个版看来是毁了
$5000 reward to find a bug我的实测结果,纯计算每秒50M次interlocked.increment
进入Programming版参与讨论
n******t
发帖数: 4406
21
2.8M个sockets...牛B在什么地方啊???
你写过system 级别的程序么?或者说,你用过BSD sockets写过non trivial的网络程
序么?

【在 c*****e 的大作中提到】
: 这个硬件7-8M以内没啥大问题? 你可真会大嘴巴跑火车!你有什么数据支持
: 这是人家运行的实际数据:
: http://highscalability.com/blog/2014/2/26/the-whatsapp-architec
: Peaked at 2.8M connections per server
: 571k pkts/sec, >200k dist msgs/sec
: Made some memory optimizations so VM load was down to 70%.
: Tried 3 million connections, but failed.
:
: TCP

s***o
发帖数: 6934
22
rick reed是个大牛,当年在某虎内部mail list答疑无数

high
of
),
at

【在 c*****e 的大作中提到】
: 看看c/c++ 人说的dream scalability done in erlang:
: I came in with a healthy amount of skepticism since most of my previous high
: -performance experience was with C/C++, but after we worked through some of
: our bottlenecks (as described in my talk at last year’s Erlang Factory SF),
: I came to realize that Erlang was a great fit for what we were doing. We
: were achieving scalability goals on our hosts that we only dreamed about at
: Yahoo!
: 2 million tcp connections on a single box
: * http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/
: * hardware spec: http://blog.whatsapp.com/index.php/2012/01/1-million-is-so-2011/

s***o
发帖数: 6934
23
dialyzer确实很坑爹,但你不能不用。erlang确实不适合用来做商业逻辑很复杂以及
cpu intensive的应用,但是在自己的领域里还是相当好使的

【在 v***e 的大作中提到】
: 用Erlang写系统也有一段时间了,我只能说这种语言写并发程序
: 上手快,因为有一套gen_server之类的东西让你用,你不用去关心
: 那些底层的IPC, message passing, shared memory management的东西。
: Erlang semantics sucks big,程序复杂了之后难以维护和调试,
: compiler很弱,dialyzer极慢,debugger差不多是个Joke,很多
: 很简单的错误你要到runtime crash,之后才知道,个人认为不适
: 合写太复杂的东西。
:
: high
: of

s***o
发帖数: 6934
24
我入门看的learn you some erlang,很好

【在 m******t 的大作中提到】
: 赞用Erlang的大牛
: 跑题下:只看过Programming Erlang,很好的一本书。

T********i
发帖数: 2416
25
你这种傻逼怎么动不动就跳出来?
你这辈子是不可能理解这一类问题了。让你丫做个100K连接都能憋死你。10M?你爹妈
没给你生出那个脑袋。

【在 g*****g 的大作中提到】
: 呵呵,你就别细问了。太监就是喜欢拍脑袋装逼,一上细节就露馅了。本来就是做客户
: 端的,服务器端的东西完全不懂。

T********i
发帖数: 2416
26
现在这些熊孩子算是被毁掉的一代了。
资讯这么发达,他们竟然还这么自闭。这是一个出奇葩的时代。

【在 n******t 的大作中提到】
: 2.8M个sockets...牛B在什么地方啊???
: 你写过system 级别的程序么?或者说,你用过BSD sockets写过non trivial的网络程
: 序么?

g*****g
发帖数: 34805
27
你丫连一万个用户都没见过的,成天装B没完了。

【在 T********i 的大作中提到】
: 你这种傻逼怎么动不动就跳出来?
: 你这辈子是不可能理解这一类问题了。让你丫做个100K连接都能憋死你。10M?你爹妈
: 没给你生出那个脑袋。

T********i
发帖数: 2416
28
你这种蠢货是不会理解的。
不超过50行的程序,能不能保持10M connection,每秒消息多少,我当然心里有数。
你丫的问题是,没吃过猪肉,也没见过猪跑。
你这辈子可能都没这个机会了。
我话放在这里,10M concurrent persistent TCP connection,就是不到50行程序的事
情。你丫服不服?

【在 g*****g 的大作中提到】
: 你丫连一万个用户都没见过的,成天装B没完了。
c*****e
发帖数: 3226
29
考,说的你比 rick 还牛, 什么玩意儿!有本事做个证明一下,别 tmd 过嘴罂瘾。

【在 n******t 的大作中提到】
: 2.8M个sockets...牛B在什么地方啊???
: 你写过system 级别的程序么?或者说,你用过BSD sockets写过non trivial的网络程
: 序么?

T********i
发帖数: 2416
30
2.8M的没意思。
要做就做10M的。
如果有人要做一个出来给你瞧瞧,你愿意contribute多少钱?

【在 c*****e 的大作中提到】
: 考,说的你比 rick 还牛, 什么玩意儿!有本事做个证明一下,别 tmd 过嘴罂瘾。
相关主题
10M persistent TCP connections问一个思路:如何创建并监听虚拟网卡
在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为An interview project: asynchronous socket programming
Re: Lehman Brothers C++ programmer interviewC++网络编程问题
进入Programming版参与讨论
a****i
发帖数: 1182
31
咱就是过嘴瘾怎么着吧。10G咱写一行就搞定。宇宙无敌不是
你要证明?凭啥给你啊

【在 c*****e 的大作中提到】
: 考,说的你比 rick 还牛, 什么玩意儿!有本事做个证明一下,别 tmd 过嘴罂瘾。
n******t
发帖数: 4406
32
计算机顾名思义就是compute,问题是这帮成天只知道fb,玩手机的,
都不会数数了。

【在 T********i 的大作中提到】
: 现在这些熊孩子算是被毁掉的一代了。
: 资讯这么发达,他们竟然还这么自闭。这是一个出奇葩的时代。

n******t
发帖数: 4406
33
他是谁我不知道。。。
你不牛是肯定的。。
2.8M个TCP sockets, 要花什么资源,你没概念。。。你才会觉得牛B。

【在 c*****e 的大作中提到】
: 考,说的你比 rick 还牛, 什么玩意儿!有本事做个证明一下,别 tmd 过嘴罂瘾。
n******t
发帖数: 4406
34
事实上,就是写几行就能让这种2杆子崇拜成这样,我为什么要写出来?
我是脑子有问题还是嫌自己挣钱太多?

【在 a****i 的大作中提到】
: 咱就是过嘴瘾怎么着吧。10G咱写一行就搞定。宇宙无敌不是
: 你要证明?凭啥给你啊

a****i
发帖数: 1182
35
照你的逻辑,你在这发贴是脑子有病还是嫌自己挣钱太多?
"事实上,就是写几行",和灌个水没太大区别吧
你有这功夫,把那几行代码写一下,比你把“简单”,“轻松”这类说一百遍都强

【在 n******t 的大作中提到】
: 事实上,就是写几行就能让这种2杆子崇拜成这样,我为什么要写出来?
: 我是脑子有问题还是嫌自己挣钱太多?

n******t
发帖数: 4406
36
不一样的,我只所现在能在这里发帖,就是因为有这种人。。
把code写出来,对我有什么好处??

【在 a****i 的大作中提到】
: 照你的逻辑,你在这发贴是脑子有病还是嫌自己挣钱太多?
: "事实上,就是写几行",和灌个水没太大区别吧
: 你有这功夫,把那几行代码写一下,比你把“简单”,“轻松”这类说一百遍都强

a****i
发帖数: 1182
37
非要说好处,你写了,别人就相信你。
有什么机会,人就会来找你,而不是找那种只会吹的。

【在 n******t 的大作中提到】
: 不一样的,我只所现在能在这里发帖,就是因为有这种人。。
: 把code写出来,对我有什么好处??

c*****e
发帖数: 3226
38
你耍无赖,你狠!

【在 a****i 的大作中提到】
: 咱就是过嘴瘾怎么着吧。10G咱写一行就搞定。宇宙无敌不是
: 你要证明?凭啥给你啊

z****e
发帖数: 54598
39
那这个就太狭隘了
数数最不会数的就是能把500页数成几千页的家伙
难怪五年就读了一个硕士
手机也好,fb也罢,这都是future
你不要盲目地排斥这些,数数也是不靠谱的
实战时候自己做点测试远比你拍脑袋靠谱得多
毕竟每一个连接消耗得资源都有可能不同
你按照最理想的消耗去预估,那这个后面也有巨大的风险

【在 n******t 的大作中提到】
: 计算机顾名思义就是compute,问题是这帮成天只知道fb,玩手机的,
: 都不会数数了。

z****e
发帖数: 54598
40
猴屁股也没少耍无赖

【在 c*****e 的大作中提到】
: 你耍无赖,你狠!
1 (共1页)
进入Programming版参与讨论
相关主题
这个版看来是毁了求建议:C++的TCP/IP编程库
我的实测结果,纯计算每秒50M次interlocked.increment10G网络到了
10M persistent TCP connectionsFacebook Is Buying Huge Messenger App Whatsapp For $19 Bill (转载)
在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为索男们跪下吧 $19B
Re: Lehman Brothers C++ programmer interview赵策,速度学erlang
问一个思路:如何创建并监听虚拟网卡感觉Erlang不错,有必要学习一下吗?
An interview project: asynchronous socket programmingWhatsApp, SnapChat 都有自己的数据中心吗?
C++网络编程问题请推荐一本Socket Programming 的书吧
相关话题的讨论汇总
话题: erlang话题: whatsapp话题: tcp