|
|
发表于 2018-9-15 09:09:38
|未经授权,严禁转载,违者必究...
|
显示全部楼层
|阅读模式
后台总有些脑洞大的朋友向我们提出奇奇奇怪的问题,比如前两天就有人问——
- X- F9 o8 s: ?( V" [- ]3 D
5 ]0 C, V- ~3 B& K1 s“把 13 亿中国人民都拉到一个微信群里在技术上能实现吗?”……
/ |/ ?/ c) m9 j, ?
* C: u& X; |8 [6 c7 h; X- [听到这个问题,全厂的人都炸了。要知道一个微信群最多只能有500人啊,QQ群也只有2000而已。当你有机会加入一个2000人QQ群的时候,你就已经感受到“信息爆炸”的可怕……3 l% j, r* @2 d- r5 \; i
5 L5 h) s' u7 S# G- t13亿人的微信群?Are you sure?
* }' g2 ]& U3 e# R+ q
) e$ I, g+ o& A* X. D# ^/ b然鹅,鹅厂的工程师们的艺高人胆大,居然有人跳出来认认真真地做了回答。喏,就是下面这位开发小哥哥,他给出了一个知乎万赞的回答,请好好欣赏他的灵魂作画!
7 ^% `/ b7 n# [! f+ A
: ^" Z5 Z2 D. Q+ P- t b
; R+ h5 ^1 Z1 w+ w" m; @- I* N( t
7 C4 |# T# y4 j s先说结论:也许可以实现,但你会什么都看不见。% Y# {( H# Z: j) |: d8 `
' T# P2 K* S9 B1 }3 |. R/ e
. n6 B# O9 h4 Z$ T2 @# Z: P( }
1 _! ]# g& U `/ R# a根据2017年《微信数据报告》的公开数据[参考1]:
# q! c- E& @. s' |: U5 D2 k L: O* z: W7 ]" H/ e
2017年9月,微信日均登陆9.02亿人,日均发送消息380亿次
/ b2 \! n7 {/ G2 b# R7 f" c$ F% O5 b( Y8 e. u' M. ^$ P% ?9 ?
这意味着平均每人每天发送信息42条,如果全国人民(对了,现在全国人口已经接近14亿)在同一个群里说话,这个群每天出现的信息就高达:
) L$ S1 w6 s0 Z( w7 r
9 N3 ?' |" X* I
) | `! ]6 ?$ e; i$ C+ y) T- g8 y2 G
3 }( Y5 {8 r; F# M0 W t这么多信息仅仅是匀速发送的话,考虑到大家的睡眠,睡觉的8小时不算,那么手机里每秒要接收的信息就是:1 @5 l' w ]. f% o
4 ~; O3 N# R: X& t0 g& s/ u$ L6 N5 N
2 s- o c6 t- D
8 N0 ~8 }7 K& ~- u% a) |
哇塞,每秒超过100万条啊!目前主频最高的手机CPU之一,高通骁龙845有2.8GHz的处理能力[参考2],一共是8核。, B$ o* }8 ]. ]& O1 N1 m4 j7 X! R
5 V, u7 Q7 a2 g# o如不计算安卓系统、显示刷新、网络IO等CPU操作的话,每条信息能分配到的计算能力是:
% d; m, n0 }( ~( }; R7 E
3 }# o# J- O9 d/ E3 E* e' i
( P0 S7 l3 z7 t& q
1 [6 s9 h$ P% s4 N( P. V这是什么概念?全球第一款微处理器是1971年英特尔推出的Intel 4004[参考3],这个老古董的主频也有108KHz啊。所以21.9KHz就是啥也干不了。2 h* @( Z$ V& \+ W% r' q" D
0 i7 y7 g# j% r1 B9 |( E4 [
幸好IT界有个摩尔定律:每18个月CPU性能就能翻倍(或者价钱是一半)。虽然现有科技已经很难让主频提升(某牙膏厂拼命挤也只有5Ghz)。3 s _$ ^! a P& J) q5 T% t4 `
8 n2 u, O4 G0 W& N0 Z
但假设我们使用了黑科技提升主频。等到了2025摩尔定律[参考4]失效时,我们的手机CPU主频应该达到:
' X. H# b0 ^; V% o/ x4 J6 M7 H1 e; I' Q7 S, f* H8 k, H; M
2 D7 @9 ^& S0 u P3 Y, ^8 [
' [% @0 W4 h- a) S
看起来不错嘛,不过每条消息能得到的计算能力将达到:. F& O7 {7 E6 L/ i" G7 O
; [% I, q* b; P0 h1 n& @& c g呵呵,依然没有达到Intel 4004的水平,所以结果就是你等了7年,还是进不了这个全国群抢一个红包。
% ?+ m$ h( x1 I/ p+ u( u
3 M, C. h/ b7 P; c$ h
; K* {5 @" K! ?4 @. _
! I* b$ \3 l: A7 E好吧,咱们让手机接入一个给力点的电脑, 比如说曾经全球超算第一名的太湖之光[参考5],用他的1千万个CPU核心来帮忙处理这个宇宙第一大微信群。算力的问题算是有了着落。
+ P1 z5 Q) H y' u1 O0 z
1 F+ h/ _3 y9 M& F5 z/ d3 W$ Q我们假设平均每条消息有10个汉字,这大概相当于30 byte,算上应用层会加上一定的控制字符,再加上TCP/IP网络层的数据消耗大概是74 byte,取个整,平均每条消息有100 byte。: q* n+ T K$ U
- p U# x$ j+ L3 F- l. J5 Z* g6 L而每个byte 相当于8个bit,所以这时每秒需要的网络带宽大约是:
2 u7 v- Y- J8 j4 v0 Q
0 l$ W/ w- @2 R' E$ H
6 R' @ O/ [2 {
( g: Q) }- q" `! S+ C6 U这时千万不要有人发红包,否则需要的带宽就更大了。
Z6 I9 V( G2 @* [- p$ k; F' B9 B( X
理论上,4G网络能支持1000Mbps[参考6],但别忘了,是全国人民在同一个群里,而你周围的人也需要同样的带宽,这使得你附近的基站不堪重负,陷入瘫痪。
- b/ j' |7 L# M9 v+ b4 V' \ U3 B! r2 w) J& I0 \
为了避免网络瘫痪导致你抢不到红包或者看群消息,你需要搬到一个周围没有人的基站,比如放暑假了全校只有你还没回家的时候。4 t0 Q& m6 X$ i: Z( {" l; N- g
* ~4 I7 M. q5 w9 M A. v5 n
' I% x7 u) O L6 K& {
3 L0 n3 J/ D% d5 R不过运营商的日子就不好过了,因为这一秒全国上下的流量就达到了惊人的:
- k4 Y( S4 X4 v% A& p/ k6 C0 N8 R! _/ `2 c( X% X( ^8 o. s
. o0 |* A5 J* }, s+ j
0 x" j+ E, C1 P. \* V这相当于2017 4月份的全国移动数据总流量的65.7%[参考7],同时意味着每18秒就能用完全国一年的流量 。运营商瑟瑟发抖.gif
d# B+ _4 Z; x! D' [6 K8 w0 i$ y- \$ E6 J/ Q' d+ B# s: R
如果把1.146Ebit数据用2TByte 3.5英寸硬盘(20mm高)装起来,然后叠起来,有1433.25m,相比之下,全球最高楼——迪拜的哈里发塔只有区区828m。
+ d6 l( W5 f; |# |, Y
& @. z- M! E. u0 @1 N" Q0 R
# q0 B* m v& b+ S* b4 o( O) y/ B& S' o+ P* p0 X5 h: w4 l9 j
当然,如果确实有需要,我相信电信运营商们肯定砸下重金为你建设全世界最大的宽带网络。0 m' c* D* ]& D$ a1 |: D3 F; h2 F
! R! T9 R& ?' h: Q$ b不过,接下来该花钱的就不是运营商——而是腾讯了。
# Z3 H& W% X- W7 E8 p, ~0 e
# \, n+ f4 M9 J$ R# h9 ^为了处理这1.146Ebps 的流量,腾讯需要准备11466万套交换机和服务器。
" d7 c( J* {! L7 ?( t n8 T2 S* ]
4 P' v' ?/ m! u. ^2 S* b目前一台大厂4口万兆交换机售价大约是4000元,一台便宜带万兆口的服务器则大概需要10000元,这两项加起来的费用是:4 g. K' t! ?8 Y- g
: q: W3 h R* l
7 ?* {3 u- Q* ?# ]( g5 U+ [; h7 _
# _' C( c1 J2 d& j0 y" d# q呃,仅仅这两项就相当于深圳2014年全年的GDP[参考8]。这里还不包括网线、电线、服务器机架、机房托管、电费、运行支出……, V/ K, M8 K2 r) S0 L/ h1 a
& W) x: Y3 s0 ~5 |8 h3 Q
况且,这么多设备的存放也是个问题。一台带万兆(10Gbps)口的2U服务器有88.9mm高,这样叠起来就有:) f9 q* P" Q4 G, I; f" J
. p+ S/ T+ P8 q4 K
1 b5 ]7 y+ ^) U( r! G3 @( S: Y# s) ~6 d# y0 V7 `1 Z! i9 H
这差不多是中国到美国的飞机航线距离啊,用来修铁路也是够够的了。
$ S# a: {! f: T2 H2 A' s: v
5 b% g- G8 B _7 ^% j
) m6 K0 C# ]' v' P- [. X5 e- r+ d9 J: w# J0 Z, X
好了,有了这么多设备加持,这下你终于可以愉快地进了群。
* w3 B) r, T; W- `" k6 @
, r6 K. i) L* h9 X但你惊讶地发现,屏幕上除了白色,什么都没有——这是因为你的眼睛没办法接收这么快的数据!
, O5 y# L X* u. q! D" x% P' v4 S/ S, x
人眼的视觉暂留时间是100-400毫秒[参考9],而我们这个群每秒钟就要显示102万条信息,每条消息停留的时间只有大概0.0001毫秒。相比之下,电影、电视都有41毫秒。3 O( R A, t; C. e. Q1 V
( B- Q3 d) O7 D! S$ w因此你还没来得及看清消息,它就已经消失了,最后只留下一团白色的色块在屏幕的正中央。
/ O1 \9 P2 V2 ]: [; }0 p" R- } @5 f3 x7 ]9 k! ?
8 W! M! T m$ `8 N3 D* k0 P( H) `3 L/ S/ e0 i$ \ I: I* { F* @
歪,妖妖韭吗?我的手机着火了,能不能来一下……着火了,能不能来一下……
|
|