首页 » SEO优化 » php何意技巧_赤壁之战曹操大年夜败只因缺了Service Mesh

php何意技巧_赤壁之战曹操大年夜败只因缺了Service Mesh

访客 2024-11-21 0

扫一扫用手机浏览

文章目录 [+]

话说曹操官渡之战大获全胜,收编了袁绍的大批将士和军队,有搞 Python的,有搞 JS 的,有搞 Ruby 的,有搞 C++ 的,还有搞 PHP 的,不一而足。

浩浩荡荡,号称百万大军,正向东边来袭。

php何意技巧_赤壁之战曹操大年夜败只因缺了Service Mesh

刘备率领自己的 Java 大军,哦不,实在也就万人不到,一边抵御一边向东逃去。

php何意技巧_赤壁之战曹操大年夜败只因缺了Service Mesh
(图片来自网络侵删)

刘备:“曹操大军压进,如何是好啊?”

诸葛亮:“主公不必多虑,我等可投奔东吴。

刘备:“他们岂肯逆曹而收留我们?”

诸葛亮:“亮自有妙计,且听我逐步道来。

诸葛亮:“东吴世代熟习水战,创始人孙坚,一贯利用 Go 措辞,其儿孙策继续父志,搞出了 Docker。
现在孙策之弟孙权在位,我们可以说服他联合抗曹。

刘备:“talk is cheap,你先带赵云去东吴游说,我们带着军队随后就到。

01 东吴

诸葛亮来到东吴,解释了来意。

诸葛亮:“曹操正率百万大军向东吴进攻,目前形势危急,我主刘备欲助东吴一起抗曹”。

张昭:“主公,切切不可听信此人,曹操明明是要进攻刘备,与我东吴何干?”

诸葛亮:“此言差矣,如果我主刘备被灭,东吴离灭亡还会远吗?”

张昭:“你说你来帮我们一起抗曹,但是你们自己兵力微弱,被曹操打得节节败退,又如何帮我们?”

诸葛亮:“我主自幼苦练 Java,又有关羽张飞赵云等良将,最近我又在研究微做事兵法,合营东吴 Docker 可以发挥最大的效能。

张昭:“什么乱七八糟的,无非是想借我们的兵力而已。

见两人在朝堂上吵吵闹闹,孙权一时头疼:“汝等暂且退下,容我三思。

孙权回到房间,立时下诏书让周瑜回来。

02 周瑜

周瑜回来见过孙权:“主公,事情我都听说了,我也是主见抗曹。

孙权:“哦?你有把握吗?”

周瑜:“我一贯在演习 Docker 水军,战斗力已经 Max,只是我要见那诸葛亮一见”。

说完,周瑜向诸葛亮的住处奔去。

诸葛亮早已正装期待。

周瑜:“诸葛师长西席,你的美意我心领了,但是你也知道,你军不到一万,加上我军也不到五万,如何抵抗曹操百万大军?”

诸葛亮:“曹操百万大军看似很多,实在都是纸老虎。
你想,曹军大部分都是收编其他势力,比较凌乱,什么 Python、JS、PHP、Ruby、C++,这些人在一起,相互之间无法合营,战斗力要大打折扣的。

周瑜见诸葛亮一言就说到了症结,知道此人并不大略,决定连续试探。

周瑜:“汝可有善策?”

诸葛亮也不虚:“不如你我各清闲手心写下计谋,同时打开?”

周瑜一听,以为有点意思,便拿笔在手心写下一字,诸葛亮也在手心写下一字。
写完,两人头碰头,同时打开手心。

只见两人写下的是同一个字,“船”!

周瑜:“我以为你会写火。

诸葛亮哈哈大笑:“我也以为你会写火”。

看到了吗,英雄的想法总是相似的,无论他们多么想与对方不一样。

两人彻夜长谈,共同商定抗曹方案,从微做事谈到做事降级,限流,末了到 Docker 支配,制订了精密的作战操持。

操持制订完毕,两人作了末了一次仿照演习训练,演习训练过程中,这二人竟然有一种惺惺相惜的觉得。

天亮了,周瑜离开了诸葛亮的住处,路上,贰心思綦重:“诸葛亮真乃旷世奇才,可惜和我各事其主,此人必不可久留。

话分两头说,曹操这边倒是正在发愁。

03 曹营

曹操:“我虽有百万大军,但是大部分是北方人士,到这东吴水土不服,特殊是在水上作战,不像在陆地这般平稳,大批将士一到水上就脑袋发晕,这可如何是好呀?”

谋士荀彧率先开口:“主公所言极是,依我看来,咱们的部队兵力过于分散,搞 Python 的、搞 PHP 的、搞 Ruby 的、搞 JS 的、搞 C++ 的,就像一片大海中的五个孤岛一样,无法联合作战啊。

曹操:“爱卿所言正是我之担忧,我扩展太快,内部尚未磨合好,战斗力怕是要打些折扣啊。
汝等有何善策?”

谋士程昱说道:“主公可听说过万能的重写?”

曹操:“这是何意?”

程昱:“我们可以选择一种措辞,比如 PHP,将其他措辞实现的系统全部用这种措辞重写一遍。
这样大家都用一种措辞,相互之间能够紧密合营。

曹操:“这须要多永劫光才能完成?”

程昱:“大概须要两年韶光。

曹操:“这可弗成啊,兵贵神速,等上两年韶光,那刘备和孙权都不知道能发展成什么样了。

正在这时,曹营中一个声音说道:“我有一计,可以不用重写系统。

①庞统

曹操寻声誉去,只见坐下一人,样貌极丑,却一副胸有成竹的样子。

曹操:“哦?你说说看!”

庞统上前说到:“主公可听说过 RPC?”

曹操:“RPC?什么东西?”

庞统:“便是远程过程调用的意思,虽然每个别系实现的措辞不一样,但是只要遵照某种协议对外供应接口,比如都对外供应 HTTP 的接口,它们便可以相互调用。

曹操:“这样就不用重写系统?来,你来给我详细说说。

庞统:“比如那用 Ruby 写的系统,将自身能够供应的做事用 HTTP 接口封装一层,用 PHP 写的系统只须要发起一个 HTTP 的要求,便可以调用那 Ruby 系统供应的做事了。

曹操:“嗯,明白了,这样改造须要多永劫光?”

庞统:“由于不用重写,业务代码也不用大改,只须要用 HTTP 将某些做事包装,不出一周便能完成。

曹操一听大喜:“行,就按照你的方案来,你来履行吧。

庞统带领曹操的将士们对系统进行了改造,让原来割裂的五个不同措辞的系统相互依赖,全部连了起来,完美地实现了曹操所须要的所有功能。

改罢,庞统暗自欣喜:“连环计已经完成,我现在该赶紧逃离曹营了。

庞统想要坐筏渡江,只听后面有人拍了他的肩膀:“汝献此计谋,不怕项上人头不保吗?”

②徐庶

庞统一听计谋被看破,大惊失落色,转头一看,原来是徐庶,提到嗓子眼的心又放了下来:“哎呀,元直兄,你这样吓人可不好啊,我心脏病都快被你吓出来了。

这徐庶正是向刘备间接推举诸葛亮之人,只是母亲被曹操掌握,不得已而在曹营,起誓终生不为曹操献一计。

徐庶:“基于远程调用的分布式系统,我很早就在研究,这里面的繁芜度可是单机程序所不能比拟的。

庞统:“哦?愿闻其详。

徐庶:“首先你要考虑被调用方挂了怎么办,要做限流和降级方案,还要考虑调用的负载均衡问题,还有做事的自动注册和创造,要有注册中央。
你现在只是带领将士们实现了功能,根本没有考虑系统的稳定性和容灾情形,这不是把曹操往火坑里推?”

庞统一听哈哈大笑:“不愧是元直兄,不过老板们只要实现功能就行,谁会管什么容灾和稳定性?”

徐庶:“看来曹操天数将尽,你走吧,就当没见过我。

庞统坐上竹筏往东吴而去。

04 开战

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

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

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

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

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

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

他在探求系统弱点。

溘然,他创造曹操战舰的东北 45 度角火力有点慢,不像其他地方那么剧烈,一个火力开回比其他地方慢了 50ms。

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

由于周瑜的系统是基于微做事设计的,每个微做事都可以独立缩扩容。
而系统又是用 Docker 支配。

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

两条命令,全体过程不超过半分钟。

05 逆转

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

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

那东北 45 度区是用 Python 写的,卖力他的人正是曹军大将张辽。

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

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

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

那西北 45 度区是用 NodeJS 写的,首领夏侯敦收到张辽的接济要求,立时调拨了十台机器给张辽。

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

结果要启动的时候,报错,Python 依赖的一个别系库与之前 NodeJS 用的一个别系库冲突。

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

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

06 曹操

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

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

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

他哪里知道,自己的系统早已被庞统全部连了起来,由于级联的效应,一个模块挂掉,已经足矣让全体系统 80% 功能不可用。

07 破曹

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

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

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

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

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

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

赤壁之战惊天算夜逆转,微做事加 Docker 降服了耦合严重的曹军战舰,曹操会这样善罢甘休吗?

08 复盘

曹操自从赤壁之战大败之后,屁滚尿流,本来的绝对上风变成了天下三分的场合排场。

曹操有个习气,每次吃了败战,都要面壁思过一段韶光。
吃了这么大一个败战,曹操已经面壁思过了一年韶光。

一年后的本日,曹操准备好 PPT,想着调集众将士们一起复盘。

曹操:“一年,一年了,我没有发动过战役,便是由于赤壁之战对我的打击太大。

众将士不语。

曹操:“若郭奉孝在,不使我至此啊!”

郭奉孝名郭嘉,是曹操军中第零大谋士,可惜每天 996,身体不好,赤壁之战前就病逝了。

众谋士听闻,都羞愧难当。

曹操:“你们谁能说说,赤壁之战失落败的根因是什么?”

谋士荀彧先发言:“依我看都怪那庞统,献个什么连环计,把我们系统改得乱七八糟,没有考虑稳定性和容灾情形,才导致一个模块挂了,全体系统都挂了。

曹操:“庞统何在?”

程昱:“庞统早已离职。

曹操恨那庞统也是恨得牙痒痒,这种 Low 逼谋士,技能渣,上来胡乱在系统里写些垃圾代码,把系统搞臭了就离职。

但是转头想想,也是自己先赞许了让庞统去做改造,自己也有不可推脱的任务。

曹操:“还有其他缘故原由吗?”

武将张辽也发言:“我们系统要缩扩容非常麻烦,要手动重装系统,再装环境。

曹操:“其他人不也一样吗?”

荀彧:“非也,我听说那周瑜,用的是什么 Docker,系统缩扩容半分钟就完成了,以是才导致我东北 45 度火力模块瞬间被集火挂掉。

曹操一听,原来还有这段战况,开始后悔自己不应该盲目自傲,坐在监控室里饮酒,他把那绣到一半的十字绣扔进了垃圾桶:“往后我再也不绣了。

曹操:“我这一年来一贯在反思,庞统那厮提出把系统改成分布式,用 RPC 相互调用,这并没有什么错,只是没考虑系统稳定性和容灾能力,例如网络不通,负载均衡,限流降级,做事创造等等才致此大败。
我也有个疑问,为什么孙刘那边把容灾做得这么好呢!”

这时座下一人大喜:“机遇已到!”

他站起身来:“这紧张是由于刘备那里用的是 Java,有很多'限流降级','做事创造'的系统可以直策应用。
比如著名的 Hystrix。

09 司马懿

站起来这位不是别人,正是曹营第一大谋士,与那郭嘉齐名的司马懿。

曹操:“那我们也可以拿过来用啊!”

司马懿:“主公,现在是不可能的,由于这些工具和 Library 很多都是用 Java 措辞写的,和微做事密切绑定。

司马懿一边说一边展示了一张图:

曹操急速明白了:“这些微做事所依赖的库实际上和做事本身有了深度绑定,而我们有五种措辞,每个措辞都去实现一遍同样的工具和库,不但须要两三年韶光,还是巨大的重复和摧残浪费蹂躏啊!”

司马懿道:“这些能力确实是每个做事都须要,但是并不须要每种措辞都去实现这些能力。

曹操和众臣表示不解。

司马懿开始放大招:“我们须要一个思维的升级,大家想想,这些微做事系统须要的特性实在是公共的,为什么不能把这些公共的特性做到底层平台中呢?想想看,我们做一个 HTTP 调用并不须要理解 TCP 的细节,那里边可是有流量掌握,失落败重传啊。

荀彧恍然大悟:“软件业的所有问题果真是可以通过增加一个中间层来办理啊!”

曹操瞪了荀彧他一眼,这种总结的台词常日都是我来说的。

不过曹操老谋深算:“你能修正网络协议栈,来增加一个层来实现这些限流降级和做事创造的功能吗?”

司马懿道:“主公明鉴,确实不能,以是我们得改用代理的模式,做事本身不直接连接到其他的做事,而是将所有的流量导送到一个小的代理,由代理来实现须要的特性。
这个代理是通用的,以是我们可以用各种措辞写微做事了。

注:这个代理被称为 Sidecar,即边车,摩托车阁下的那个座位

10 Service Mesh

司马懿:“我们的微做事都可以利用这种模式,这样就组成了一个网格,便是 Service Mesh。

司马懿:请看看上图,浅蓝色部分代表咱们现在各个措辞的业务模块,灰色部分代表代理(Sidecar),你可以看到,业务模块只和自己的代理通信,而真正实现相互之间通信的是代理。

程昱:“哦,我明白了,这倒是一种方法。
那么实现 Service Mesh 须要多永劫光呢?”

司马懿:“不用自己造轮子了,现在已经有一些现成的方案,比如 Istio。

曹操一听大喜:“行,就按照你说的来改造,但是这次改造完成,我们要实行严格的灾害测试。

司马懿将代码回滚到庞统来之前,然后改造系统,把系统搭在了 K8S 之上,用上了 Istio,全体系统改造花了不到半年韶光。

11 测试

系统改造完毕,曹操安排了张辽对系统进行灾害测试,紧张便是把一些模块搞挂。

而那 Service Mesh+K8S 搭载的系统,已经完备能够承受这种级别的灾害了。

曹操看到测试结果往后大喜,在铜雀台摆上了酒席宴请众将士。

曹操:“来,把甄姬叫来给大家跳个舞。

众将士都沉浸在甄姬美妙的舞蹈当中,而曹操心里却已经计算着如何灭掉孙刘。

参考文章:

https://philcalcado.com/2017/08/03/pattern_service_mesh.html

标签:

相关文章

语言枚举类型,探索人类语言多样性的奥秘

语言是人类交流的重要工具,也是人类文明发展的重要标志。随着全球化进程的不断推进,各种语言枚举类型应运而生。本文将从语言枚举类型的定...

SEO优化 2024-12-29 阅读0 评论0

语言栏消失,科技变革下的挑战与机遇

近年来,随着科技的飞速发展,智能手机、平板电脑等移动设备的普及,语言栏这一功能已经成为了我们日常生活中不可或缺的一部分。近期有消息...

SEO优化 2024-12-29 阅读0 评论0

语言混合现象的多元魅力与挑战

语言混合作为一种跨文化交流的现象,逐渐成为世界范围内语言学研究的热点。它不仅丰富了语言的多样性,也反映了全球化背景下人类社会的交流...

SEO优化 2024-12-29 阅读0 评论0

语言是思想的载体,介绍语言与思想的关系

在人类文明的进程中,语言一直扮演着至关重要的角色。它不仅是人们沟通交流的工具,更是承载着人类思想的载体。自古以来,人们就深知语言与...

SEO优化 2024-12-29 阅读0 评论0