专栏名称: 51CTO技术栈
有趣 | 有料 | 有内涵,为您提供最优质的内容,愿我们一起悦享技术,成就人生。
目录
相关文章推荐
51好读  ›  专栏  ›  51CTO技术栈

平凡人的野望:我们为赛博世界保管记忆

51CTO技术栈  · 公众号  · 程序员  · 2020-11-27 18:05

正文

平凡人的野望: 我们为赛博世界保管记忆

文 | 史中

今天的主角,是一个其貌不扬的大盒子。

一万个人中,恐怕有九千九百九十九个半都不知道它是干什么的。

但是,成千上万这样的大盒子,却镶嵌在我们这个国度的时光长河中。他们是笔记,心怀敬畏记录着每一笔账目的来往;他们是日记,眼含忠诚记录着企业蹒跚长大的悲欢。

它们就是“企业级存储”。

区区万言,只够讲一家公司一群人一个“盒子”,但请相信我,这些身影后面藏着每一个人都感同身受的追逐。


(一)怪人们

2008年,温州。

大街上阳光刺眼,人们穿行奔忙。路边的茶楼里有人穿着老汗衫,有人趿拉着拖鞋,举着电话快言快语。

这一切,被邻座的一个小伙子收进眼里。

他叫张强,此时新生活刚刚开始——他加入了一家深圳公司,被派驻到温州开拓新市场。对于一个25岁的年轻人来说,眼前的一切恰如广阔蓝天徐徐展开,让一只鸟心潮澎湃。

温州

他供职的这家公司不大,只有两百人,卖一些听上去奇奇怪怪的企业级网络产品:VPN、上网行为管理、防火墙。这家公司的名字更怪,叫深信服。

要说最怪的,是公司的同事们。在那个搞销售必然喝大酒盘关系讲回扣的年代,深信服的销售小哥却天天只跟客户死抠产品有什么功能,能解决哪样问题。

但张强喜欢和这些怪人待在一起,如丑小鸭找到了同类。

在温州待了半个月,张强还发现一个惊人的事实:这里简直就是“怪人”的天堂——前两天在茶馆那位穿汗衫的,居然是一位麾下千人的工厂老板;旁边穿拖鞋的,竟也是身家上亿的大客商。

在这座城市,人们并不在意用外表来证明自己是谁。

穿越到今天回望,这些拖鞋大佬其实也没那么怪,他们只是中国经济变革大潮中那群最早相信勤勉和务实的人。

故事就这样开始了。

张强 (这是2020版的张强,已经沧桑了许多)

“深信服是啥?你们做服装的?服务外包?做信用贷款?”最开始,每次电话那头的客户都要如此“拷问三连”,让张强他们哭笑不得,哑口无言。

但是经过张强锲而不舍各种姿势介绍以后,务实的温州企业着实给了深信服不少宝贵机会——拿来产品实打实测试。

只要东西真的好,解决问题,那买单是相当爽快。

深信服由此在这座被时代冲刷的城市站稳脚跟。而温州,只是这群人光辉年代的一场缩影。

那些日子,在深圳,无数不善言辞的程序员们靠着对未来的憧憬星夜兼程敲下代码;在全国,无数像张强一样的销售人靠着真诚和理智把品类并不算多的产品送到了真正需要它的人手中。

时光缓缓前行。彼时没人知道,一个巨大的命题正等在转角,将会和深信服撞个满怀。

2008年,神舟七号升空,翟志刚完成了首次太空行走,这在某种程度上是中国科技的一次宣言。

(二)一个沉重的命题

张强的眼睛,记录下了那个时代。

2012年,他辗转湖北,成为区域负责人。虽然“升任总经理迎娶白富美”值得庆贺,但却很长时间都高兴不起来。

他发现这个国度的现实比想象中更复杂:

即便奥运会已经开完了四年,内地大多数企业的开放程度之低仍然让人喟叹,就连经济危机传导到这里都会变成孱弱的余波。

很多企业规模不小,却压根没有进入数字化的大门——没有内网系统,没有统一管理的办公电脑,一个 Excel 文件在 QQ 上传来传去包打天下。

这样一看,深信服卖的那些 “外围” IT产品虽然被企业需要,但绝对不是最迫切的。

就像人们连房都没买,你却在向他们推销家具。

当时就是感觉自己每天在做选择题,我只有ABCD,但是人家可能需要EFG。他们要的我给不了。。。

冲在一线的张强深有感触。

当年强哥在湖北的时候,团队聚餐,有种歃血为盟的感觉。

湖北不是个例,它是我们脚下土地的缩影—— 重重山水之中的万千企业,像渴望氧气一样渴望质量优良、价格亲民、可以信赖的 “核心” IT产品。

这切中了深信服思考了十几年的母题:

既然创始人何朝曦和熊武每天都鼓励大家“要让世界因我而变得不同”,那现在世界摆在这,深信服这群人就必须不断地说服自己, 一步一步走到舞台的中央。 不仅要做家具,还要造房子;不仅能造“小米步枪”,还要去造“飞机大炮”。

彼时征战前线的张强尚不清楚,远在深圳的总部其实早已经火力全开,核心IT产品的研发紧锣密鼓。

没多久,销售队伍就拿到了期盼已久的新武器:超融合一体机和桌面云系统。(有关这个故事,推荐你去看看 《深信服,狂奔向五月花号》 。)

不懂的浅友我简单科普一下:

超融合一体机,就是N台服务器组成的“心脏”,为企业各个部门提供核心计算力;桌面云系统,就是办公室每个人面前的电脑,但这些电脑没有机箱,所有的算力都统一由机房的超融合主机提供。

超融合一体机组成了企业的计算中心,可以为办公PC、对外服务、 大数据、人工智能 等等各种姿势提供计算力。

这些产品在张强的印象中是 锋利 的重剑。

一方面是 骄傲自豪 ,深信服终于进入无数企业的心脏地带,亲手把0和1的涓涓细流汇入中国数字化的汪洋大海,家国情怀,得偿所愿;

一方面是 如履薄冰 ,企事业单位把核心计算力托付于自己,产品一旦出现故障,小则影响生产收入,大则影响国计民生。

纵如段誉一般的大侠,刚练好六脉神剑时也会有放不出技能的尴尬时刻;最初半年,深信服的超融合和云桌面确实也并不稳定,时不时会来一次罢工,让客户措手不及。

一个区教育局用了我们的桌面云一体机,当时能拿到这样级别的客户,我们可高兴坏了。

可是没两天,系统突然发生故障,大面积云终端宕机,导致多媒体教学系统不能正常访问使用。教育局气得对我们拍桌子:“撤下去!把你们的东西全拿回去!”当时又羞愧又着急,真的是恨不得找地缝钻进去。

虽然后来经过排查确定是第三方服务器固件版本过旧引起多块硬盘同时离线所致,但是回忆当年,张强还是心有余悸。

但塞翁失马焉知非福,深信服这群年轻人早早学到了重要的一课—— 造飞机大炮绝对不能用小米步枪的工艺控制;面对沉重的命题自当付出万倍的心力。

从那以后,同学们都要把手中的产品磨了又磨,测了又测,不达到百分之百可靠绝不会交付给客户。

这种敬畏凝成一把钥匙,最终打开了新故事的大门。

前方战火轰鸣,总部安然静谧,另一个绝密的产品早已开始了胎动。而张强恐怕猜不到,就在几年之后,自己的生命将会和这个重磅产品紧密地联系在一起。

这就是深信服的企业级分布式存储产品,EDS。

(三)来!造一艘航母!

2016年,深圳。

深信服的总部,一个神秘的组织聚在会议室里,所有人都眉头紧锁。

神秘组织名叫“研发管理委员会”,这个名儿不太性感,但它其实是深信服内部的“技术长老会”——接下来要研发什么产品,公司未来的技术布局,都由这十几个大佬商议。毫不夸张地说,这些人的技术判断,某种程度上决定着公司的前途和命运。

陈岩,就是当时的“长老”之一。之前张强在前线千呼万唤苦苦等待的“超融合”和“桌面云”正是陈岩他们的手笔。

陈岩

那些年,研发管理委员会几无败绩,敲定的产品研发一个火一个。但是此时此刻,他们却分成了两派,为 “要不要做企业级存储” 争论得面红耳赤。

大牛吵架,值得观摩。

要明白他们在吵什么,中哥得先用一分钟给你科普下,什么叫“企业级存储”。

每一个现代企业,为了完成各种生产协作任务,都要建立一个由各种计算机组成的“赛博空间”,这个空间非常复杂,就像用乐高拼成的摩天大厦。但是无论多复杂,这些乐高积木却只分成三种类型: 计算 存储 网络


企业级存储,就是把很多 “存储” 积木拼成一个容量巨大的“存储之海”。


它可以用来干什么呢?金融企业会用企业级存储来存放客户信息;公安系统会用企业级存储产品来存放监控数据,广电系统会用它来存放视频素材等等。

你看,都是这种举足轻重不容有失的场景。这种情况下,企业级存储就得表现出专业选手应有的样子:记得牢,记得准,记得快。

好,现在我们回到吵架现场。大牛们争议的核心问题在于两个:

1、深信服已经有了“超融合”产品,其实超融合产品就像个盒饭套餐,里面已经打包了计算、存储、网络这三个“菜” (深信服还加了一个特色菜:安全) ,为啥还要单独把存储拎出来成立一个新产品?

2、市面上正在卖的存储产品,没有100家也有90家,深信服还有没有必要蹚这个水?

一声惊雷,陈岩拍案而起,他的观点是: 独立存储产品不仅要做,还要用绳命去做。

理由如下:

别看现在各个企业已经有了很多数据,但和未来相比简直就是九牛一毛。眼看十四亿人民正在迁徙到云计算的新国度,十年之后中国各个行业的数据量会非常大,超级大,异乎寻常地大,超越想象地大。

越是大量的数据,越是可以精准地预测这个世界的未来,谁预测的未来更精准,就更有机会掌握这个世界的权柄。数据很可能成为新世界的 “战斗机”

既然是战斗机,就必须由一艘最广阔,最平稳,最安全的航空母舰来搭载。

而市面上已有的存储产品大多是集中式存储,这种产品的容量存在上限,而且这种架构在设计之初只是用于独立存放,又很难和其他数据打通。未来随着数据暴涨,大批中国企业肯定需要容量无上限又方便联合计算的“分布式存储”。

此时此刻研究分布式存储,不正是对时代最好的回答么?

集中式存储和分布式存储的区别大概就是这样。

这一番论证无懈可击,大多数技术长老都点头表示认可。最终,几乎是全票通过:深信服自研分布式存储产品,上路!这个产品的名字就定为 EDS(Enterprise Distribute Storage)。

分布式存储系统有多复杂,真的是难以形容。幸好,皮克斯曾经拍过一个动画片,讲的就是存储系统。

这就是《头脑特工队》(《Inside Out》)


主人公莱莉的脑海,就是一个巨大的存储系统,每一个球就相当于一份“数据”,无数的存储柜、无数的机械臂,传输系统、管理系统,都在为这些数据的安放服务。


没错,这群技术宅,就要在代码世界复刻一个这样精密的而庞大的奇观。

大伙儿虽然没明说,但心里多多少少都有“顾虑”——存储系统是IT设施的基石,固然会用百倍的小心去研发测试。但万里有一,哪怕是亿里有一出了问题,客户存储的珍贵资料都可能。。。他们不敢想下去。

事实是,很难找到一个特别合适的人愿意挑梁做存储产品的研发负责人。。。

危急时刻,陈岩找到老板:“实在不行,我直接带队去干吧!”

陈岩回忆这段故事的时候轻描淡写。但是谁都知道,前路荆棘,生死关天,这个决定很难轻描淡写。

待人温和的陈岩,胸中有大丘壑,接过研发的帅印后,他马上定了一个“小目标”:企业级分布式存储产品 EDS 至少要做到 百亿小文件 的高性能存储。

如果还用《头脑特工队》作比喻,相当于存储系统里至少能放一百亿颗小球。

这是个如同航空母舰一般浩瀚而恐怖的奇观。


(四)存储系统就是个“火锅店”

毕竟过去几年一直在做存储模块,团队有很深的技术积累,陈岩知道,要完成巨大的存储系统,最艰难的是两个核心组件: 存储引擎 分布式文件系统

这俩货又是个啥??

它俩虽然看上去很专业,而且工程上也确实复杂,但是原理却挺有趣。

你吃过小龙坎或者宽板凳之类的九宫格火锅吗?只要吃过,我就能给你讲明白。

好,现在假设你和朋友们围在火锅前面了。你面前的火锅就是一个磁盘,而各种菜就是数据。你把菜放到格子里,就相当于把数据存在了磁盘上,过一会儿你把菜捞出来,就相当于从磁盘上删除了数据。


存储引擎 是啥呢?

就是你们这帮吃货呗。

你们七手八脚,有的把菜放到格子里,有的把菜拿出来。

但是,你们是懂规矩的吃货,规矩有两个:

1、一个格里只允许放一种菜。这个格子被吃空之后才能放新的菜。 (这很好理解吧,如果一个格子里啥都涮,那还分成九个格子干嘛呢?干脆大锅涮就行了。)

2、不能同时有两个人把筷子伸进同一个格子里。 (这也很好理解吧,要是你俩最后都夹到了同一片肉,那给谁呢?)

存储引擎

于是,虽然锅里电光火石,筷子翻飞,红汤浪涌,但无论用多慢的镜头回看,你们这些吃货都完美地遵循了这两个规则。

其实,存储引擎就是干这个的,它以迅雷不及掩耳的姿势读数据、写数据,但却精准地保护每一个格子里数据的 可靠性 一致性 ,一个比特都不能错。

分布式文件系统 又是啥呢?

是火锅店的服务员。

假设你们全公司都是吃货,150个人决定去火锅店聚餐。这就涉及到一个问题,一个桌子坐不下。你们10个人一桌,总共坐了15桌。这就叫 分布式火锅

分布式火锅

但是请注意,饭店里的菜品太多了,每个桌子上的每一个格子里都不相同——有人想吃毛肚,但不知道毛肚在哪个桌子的哪个格子里,有人想吃脑花,也不知道脑花在哪个桌子的哪个格子里。

这时候,你只需要跟服务员说,我想吃毛肚,服务员就带你去那个锅,告诉你毛肚在1号格;你说想吃脑花,服务员就带你去另一个锅,告诉你脑花在5号格。

把这些分布在各个地方的文件组织起来的系统,就叫分布式文件系统。

分布式文件系统

科普完毕,我们把时间拉回到2017年。

陈岩拉起大旗,众将列立。

先来干 存储引擎

深信服其实是有家底的。刚才说到,当年推出的超融合一体机就像一个盒饭,包含了计算、存储、网络、安全四个“菜”。实际上,当时为超融合一体机服务的存储团队已经成立了4年,超过100人的规模了,存储所必备的“存储引擎”自然也有很深的技术沉淀。

但是,把之前那个存储引擎直接搬过来用,陈岩是拒绝的。

他的理由很简单:因为存储介质正在更新换代的浪潮中。

举个例子,最早的 HHD(机械硬盘)一次网络传输要10毫秒,后来的 SATA SSD 要100微秒,现在利用 RDMA 传输技术的 NVMe SSD 可以做到一次传输10微秒。这速度一变,整个存储引擎的编程逻辑就要发生根本的变化。

陈岩给我科普。

这就是一个NVMe 接口的硬盘。

之前的存储引擎是针对传统的 SATA SSD 开发的,而速度更快的 NVMe SSD 正在普及——如果沿用旧的存储引擎,也许可以顶个三五年,但是瓶颈会越来越明显;如果开发新的引擎,虽然耗时耗力,但绝对能做出精品,未来十年打遍天下都不怕。

再看 分布式文件系统

实话实说,当时分布式文件系统的理论已经非常成熟,但问题是,理论不等于实践。航空发动机的理论也非常成熟,光刻机的理论也非常成熟,但是中国至今都没办法造出来。这个道理是相同的。

要把一个精密的理论变成眼前真实运转的系统,还需要解决工程上细碎难缠的千百个具体问题。

懂技术的浅友肯定知道,有一个非常出名的开源分布式文件系统,名叫 CEPH。陈岩他们也确实把 CEPH 拿来做了一下测试,但很多性能指标大概只有他们想要的五分之一。

尝试了一圈,陈岩已经无比坚定了他的判断——自己开发。

这下可好, 存储引擎 分布式文件系统 都要从零开发,万丈金字塔,从地基开始挖。等这个产品做出来,少说也得两年多之后,也就是2019年了。。。

几百号人,将近一千个日夜,都要铺在这一个产品上,而且在这段“闭关”的时间内,没办法为公司贡献任何利润。兹事体大,已经不是陈岩一个人下决心就行了。

于是,他怀揣着好多文档、数据、PPT,推开了老板的大门。

本以为要颇费一番口舌的睡服,却在友好轻松的氛围下结束了。陈岩想十年磨一剑,想在历史大河的奔涌中为千万中国企业搞出一艘闪闪发亮永不沉没的航母,这些其实也正是深信服创始人们最初的梦想。面对历史,商业理应展现出应有的敬意。

陈岩顺利地从领导那拿到了“免死金牌”。

但手握金牌,也意味着压力瞬间转移到了他肩上——所有条件都已满足,几年后如果不能拿出一个精品,那恐怕要“以死谢罪”了。。。

接下来的每一天,陈岩和团队同学们都在代码丛林中艰难前行。

陈岩和他的小伙伴们,这是他们集体去海边摸鱼的照片。

(五)硬骨头

时光飞逝,所有系统都在有条不紊地推进,不过,团队还是被一小块“硬骨头”卡住了。
这块硬骨头就是 分布式文件系统 里的核心组件: KV数据库

又出来一个新名词,这货又是干嘛的??

其实很简单。刚才说过, 分布式文件系统 就像火锅店的服务员,帮你精确规划菜品在火锅里的位置。但是菜品实在太多,服务员也记不住,他手上就得有一个地图,标记着哪个菜品的在哪个位置等等信息,这种信息用术语说就叫关键值(Key-Value,简称KV)。






请到「今天看啥」查看全文