玛斯克的大脑在高速运转.
他很想寻找反驳的角度,但作为一个天才程式设计师,理性告诉他,陈浩是对的。
皮特·蒂尔和马克斯则满脸笑容。
终於有人证明了他们是对的,而且玛斯克竟然无法反驳。
想到这段时间的爭吵,两人有一种出了一口恶气的感觉。
实在是玛斯克太强势了,两人很难接受这样的同事。
为此皮特·蒂尔甚至多次给董事会的几个股东发邮件,商量要罢免玛斯克的ceo位置。
他的提议甚至还得到了一些董事的同意,大家其实对於马斯克的性格都有点不认可。
玛斯克的脸色则是越来越难看,一向自傲的人很难面对这种不好反驳的批评。
陈浩注意到了这个细节。
如果继续追著打,玛斯克的自尊受不了,今天的谈话就彻底崩了。
於是陈浩转向批评皮特·蒂尔和马克斯,这样能够让玛首富面子上好看点。
“你俩也別高兴的太早,选择的linux路线,也只是做对了一半。
其实依旧没有解决在线支付中面临高並发等各种问题。”
皮特和马克斯表情立马严肃了起来。
他们一直觉得自己的选择比玛斯克强,但是没想到陈浩竟然会说还有很多问题。。
陈浩拿起马克笔,在白板的另一侧画了一个新的架构图。
“linux的优势在於开源、灵活。
在单机场景下,它处理高並发网络i/o的能力確实远胜nt。
但是,单机永远是有上限的。
不管你用多好的硬体、多优化的配置,一台伺服器能承载的並发连接数和事务处理量都有天花板。”
他在架构图的中央画了一台伺服器的图標,旁边標註了“单点瓶颈”。
“在线支付系统不是一个普通的web应用。
它的核心诉求是稳定可靠。
用户发起一笔付款,这笔交易能安全的完成,不能出现丟失、重复、甚至被篡改的问题。
用户少的时候,单机linux上部署资料库是没问题的。
但当你的用户量从十万涨到一百万,从一百万涨到一千万的时候,一台资料库扛不住了,你怎么办?”
他在那台伺服器旁边又画了几台,用线连起来。
“正常情况下你们会把数据和计算分散到多台机器上去。
但分散之后,麻烦就来了。
用户a在第一台伺服器上发起了转帐,钱已经从他帐户扣掉了。
但这条记录还没来得及同步到第二台伺服器。
这时候用户a又从第二台伺服器上查了余额,发现钱还在。
他又转了一次,同一笔钱被花了两次。”
陈浩在两台伺服器之间画了一个问號。
“这就是分布式系统里最经典的一致性问题。
你们现在的架构,不管是linux还是nt,都没有处理这个问题的能力。
因为你们的后端还是传统的单主资料库加从库复製的模型。
这个模型在小规模下够用,但它不是为海量並发设计的。”
马克斯·列夫琴听得极为专注。
作为confinity的技术核心,他天天在跟资料库打交道。