【技术小说连载】新三国外传——赤壁之战

【技术小说连载】新三国外传——赤壁之战

小说连载系列是我第一次尝试的新的技术讲解方式,希望通过小说的形式将技术细节讲解清楚。

第二篇中长篇连载小说《新三国外传》,主要讲解一些架构、新技术以及程序员工作中的一些轶事,希望大家能够喜欢。

郑重声明:小说人物和故事情节取材自三国演义,作者融入了技术元素,做了大量修改,未经同意禁止任何形式的转载,侵权将进入法律程序。大佬除外。

欢迎大家转发文章,谢谢!


前情回顾

月黑风高,长江上的浪花拍打着两岸,发出巨大的声响。江岸两边,曹操与周瑜隔江相对。就在今晚,曹操向孙刘发起了总攻,而周瑜也早已做好了战斗准备。

不远处,诸葛亮登上了七星台,与周瑜遥相呼应,相互配合。

开战

曹操一声令下:“全军出击”。

百万大军驾驶着一艘战舰,朝周瑜这边驶来。

而那周瑜,只有区区十几艘小船,与那战舰一比,就像蚂蚁和大象。

曹操巨大的战舰向周瑜发动着猛烈的攻击。而那周瑜却不慌不忙,一面命令将士们顶住火力,另一面,暗中观察曹操那巨型战舰的火力分布。

他在寻找系统弱点

突然,他发现曹操战舰的东北45度角火力有点慢,不像其他地方那么猛烈,一个火力开回比其他地方慢了50ms

是的,就是这转瞬即逝的50ms,也瞒不过天才都督周瑜,他一声令下:“集火。”

由于周瑜的系统是基于微服务设计的,每个微服务都可以独立缩扩容。而系统又是用docker部署。

周瑜军队需要做的就是将其他系统的docker容器关闭,然后启动进攻东北45度的docker容器。

两条命令,整个过程不超过半分钟。

逆转

半分钟后,周瑜军队完成了集火的操作,曹操战舰的东北45度火力模块突然遭受了巨大流量火力冲击,瞬间挂掉了。

这一挂不要紧,关键是系统其他模块都依赖于这个东北45度火力模块,结果很多模块都无法正常工作了,整艘战舰,只有很少的几个点还能输出,其他火力全都哑了。

那东北45度区是用python写的,负责他的人正是曹军大将张辽。

张辽一看模块挂了,赶紧下令:“重启!重启这个模块!”

但是重启了之后,这个模块依然扛不住周瑜全军的火力,起来又挂了。

张辽:“不行了,必须要扩容,西北45度区夏侯敦那边没有火力,赶紧去那边调十台机器来扩容。”

那西北45度区是用nodejs写的,首领夏侯敦收到张辽的救援请求,马上调拨了十台机器给张辽。

但是要在这新的十台机器上部署python模块谈何容易,张辽部队全部上了,都在手动部署,装python环境,设置环境变量,拷贝代码,设置配置文件,这一套流程下来,十几分钟过去了。

结果要启动的时候,报错,python依赖的一个系统库与之前nodejs用的一个系统库冲突

这下张辽是真的慌了:“重装,赶紧重装系统!”

嗯,整艘战舰的人都等着张辽在这重装系统,然后再装python环境,设置环境变量,拷贝代码,设置配置文件。

曹操

曹操觉得此次胜利在握,正在战舰的监控室里一边喝酒,一边绣着十字绣。只见快一个小时了,十字绣已经绣了一半,还没有传来胜利的消息,便问身边人:“怎么还没有灭了周瑜?”

那身边人也是个欺上瞒下的主:“主公不必惊慌,咱们系统有一个小模块出了点问题,应该没有大碍。”

曹操:“我系统大大小小几十个模块,一个模块出问题算什么?”

他哪里知道,自己的系统早已被庞统全部连了起来,耦合严重,一个模块挂掉,已经足矣让整个系统80%功能不可用。

破曹

张辽这边还在重装系统,周瑜的火力已经透过那东北45度火力模块打到了系统缓存层,缓存层很快出现了热点,一下子战舰着起了火,缓存层很快被击穿了,火力到达了数据库,数据库瞬间挂掉了。

张辽见情势不妙,赶紧连滚带爬去监控室里找曹操,只见曹操还在那优哉游哉喝着小酒,绣着十字绣。

张辽大喊:“主公,求求你别绣了。周瑜的火力已经打过来了,赶紧从后门逃走吧。”

曹操一开始还不相信,但见那火势很快烧到了监控室,自己只能带着将士们连滚带爬逃出战舰,朝那华容小道逃去。

周瑜登上曹操的战舰,没有寻得曹操,将士们都准备追击,周瑜却不慌不忙:“别忙着追那曹操,你们赶紧去那七星台,把诸葛亮先给我软禁起来。”

将士们来到七星台,只见台上早已空无一人,诸葛亮已经离开了东吴。


赤壁之战惊天大逆转,微服务加docker战胜了耦合严重的曹军战舰,曹操会这样善罢甘休吗?欲知后事如何,请听下回分解。

第一次尝试写技术小说,如果你喜欢这种形式,麻烦动动手指转发一下,你不经意间的动作,可能就会给大家带来一部伟大的技术小说。

【技术小说连载】新三国外传——赤壁之战