每个服务独立部署:每座小房子自己单独装修的故事

每个服务独立部署:每座小房子自己单独装修的故事 小朋友们好呀上次老师给你们讲了微服务架构的故事讲了怎么把一座大房子拆成很多座小房子。今天呢老师要接着上次的故事往下讲讲一讲这些小房子有一个特别厉害的本领这个本领叫做独立部署。这个词听起来又长又难懂对不对没关系老师还是用盖房子的故事一点一点慢慢地给你讲清楚保证你听完之后就能明白原来是这么简单的一回事呀。先回忆一下小房子的故事我们先来回忆一下上次讲的内容。以前程序员叔叔们盖房子喜欢盖一座超级大的房子把吃饭、睡觉、看电影、玩游戏所有的功能都塞进这一座大房子里。后来发现这样太乱了、太麻烦了于是聪明的叔叔们就把大房子拆开变成了很多座小房子每一座小房子只负责做一件事情这个就叫做微服务架构。今天我们要讲的独立部署就跟这些小房子有关系。那部署是什么意思呢老师先给你解释一下这个词。“部署你可以简单地理解成把房子盖好然后让大家开始用”。比如说程序员叔叔写好了一段代码做好了一个功能然后把它放到电脑上让全世界的人都能用这个过程就叫做部署。就好像你搭好了一座积木房子然后把它摆到桌子上让大家都能看到、都能玩这个摆出来给大家用的动作就有点像部署。大房子时代的烦恼现在我们先来说说在以前那座大房子的时代部署是怎么一回事。还记得吗那时候所有的功能都挤在一座大房子里。假如程序员叔叔只是想给玩游戏的功能加一个新游戏这本来是一件很小的事情对不对可是因为所有东西都在一座大房子里连在一起叔叔想让这个新游戏能被大家用上他就必须把整座大房子重新摆出来一次。也就是说哪怕只改了一个小小的地方整座大房子都要重新部署一遍重新盖一遍、重新摆一遍。这会带来什么麻烦呢老师给你想想看。第一个麻烦是特别特别慢。整座大房子那么大重新摆一次需要很长很长的时间可能要等好久好久叔叔们就只能干等着特别浪费时间。第二个麻烦更可怕。在重新摆这座大房子的时候整座房子都得暂时停下来不能用。这就意味着叔叔只是想改一下玩游戏的功能结果在重新部署的这段时间里连吃饭的功能、睡觉的功能、看电影的功能全都不能用了因为它们都在同一座大房子里房子停了里面所有的东西就都停了。小朋友们就只能眼巴巴地等着什么都干不了是不是很糟糕第三个麻烦是万一这次重新摆房子的时候出了一点点小差错比如不小心把房子摆歪了那整座房子可能就塌了所有的功能全部都用不了了这后果就太严重了。小房子时代的好办法那拆成小房子之后呢情况就完全不一样了这就是我们今天要讲的重点了。每座小房子都是独立的、分开的所以每座小房子都可以自己单独地重新装修、单独地重新摆出来而完全不用去打扰别的小房子。这个就叫做每个服务独立部署。独立就是单独的、自己一个人的意思“部署就是摆出来给大家用的意思合起来就是每座小房子可以自己单独地重新摆出来给大家用不用管别的房子”。我们还是用刚才的例子来讲。假如叔叔想给玩游戏的功能加一个新游戏在小房子的时代叔叔只需要去捣鼓玩游戏的那一座小房子就好了。他把这座小房子重新装修一下加上新游戏然后单独把这一座小房子重新摆出来就完成了。在这个过程中吃饭的小房子、睡觉的小房子、看电影的小房子它们全都安安静静地待在原地照常工作一点都不受影响。小朋友们可以一边正常吃饭、正常看电影一边等着新游戏装好等装好了就能玩新游戏了其他什么都不耽误。你看这是不是比以前方便太多了独立部署的好处一个一个说现在老师把独立部署的好处一个一个给你列出来让你看得更明白。第一个好处是快。因为每次只需要重新摆一座小小的房子房子小摆起来当然就快多了不像以前要重新摆整座大房子那么费劲。叔叔们改个东西一会儿工夫就能让大家用上效率特别高。第二个好处是不耽误别人。这是最重要的一个好处。一座小房子重新装修的时候其他所有的小房子都照常营业、照常工作。就好像一条街上有很多家店其中一家糖果店关门装修了没关系呀旁边的玩具店、书店、冰淇淋店都还开着门你照样可以去那些店逛、去那些店买东西一点都不影响。这样小朋友们用软件的时候几乎感觉不到有东西在更新用起来一直都顺顺当当的。第三个好处是安全。万一叔叔在重新摆玩游戏的小房子时不小心出了差错把这座小房子弄坏了没关系受影响的只有玩游戏这一座小房子而已最多就是暂时不能玩游戏。其他的功能全都好好的照样能用。这样就算出了问题影响的范围也很小很小不会像以前那样一出错就整座大房子全塌了全部功能都用不了。叔叔们改起东西来就放心多了胆子也大了因为他们知道就算搞砸了也只是搞砸一座小房子很容易就能修好。第四个好处是可以同时干很多活。你想啊因为每座小房子都是独立的所以负责玩游戏小房子的叔叔和负责吃饭小房子的阿姨他们可以在同一时间各自忙各自的。玩游戏小房子的叔叔在加新游戏吃饭小房子的阿姨在加新菜谱他们俩互相不打扰各干各的同时进行。这样一来整个团队干活的速度就快多了。要是在以前的大房子时代因为所有东西都连在一起大家就得排着队来你改完了我才能改我改完了他才能改慢吞吞的特别耽误事。用一个生活里的例子来理解为了让你理解得更透彻老师再给你举一个生活里特别好懂的例子。你想象一下有两种住房子的方式。第一种是一大家子人住在一个超级大的连体房子里这个房子的特点是墙壁和管道全部都连在一起。假如爷爷的房间想换一盏新灯结果一动电线全家人的房间都得跟着停电所有人都要在黑暗里等着等爷爷换好灯全家才一起来电。这就是大房子时代的样子牵一发而动全身。第二种方式呢是每个人都住在自己单独的一座小房子里每座小房子有自己的电、自己的水、自己的门。爷爷想在自己的小房子里换灯他自己关掉自己房子的电慢慢换换好了再开灯这期间爸爸的小房子、妈妈的小房子、你的小房子全都灯火通明照常用电用水谁都不受影响。爷爷换灯的事情完全是他自己一个人的事情不会连累到任何人。这就是独立部署的样子每个人自己的事情自己单独搞定互不干扰。你看是不是第二种方式方便多了、舒服多了也有需要注意的地方不过呢老师还是要诚实地告诉你独立部署虽然好处多多但也不是说就完全没有需要操心的地方了。因为现在有很多很多座小房子每座都可以自己单独装修那叔叔阿姨们就得仔细地记住到底哪座房子装修到什么程度了哪座房子是新装修过的哪座房子还是老样子。要是管理不好可能会出现一些小混乱比如新装修的玩游戏小房子想跟没装修的吃饭小房子打电话结果两座房子说的话对方听不懂了那就麻烦了。所以叔叔阿姨们需要很用心地去管理这些小房子要做好记录要让每座房子之间还能正常地说上话、配合好。这就需要更多的本领和细心了。总结一下今天的故事好了小朋友们今天的故事讲完啦老师来帮你总结一下。今天我们学了一个新本领叫做每个服务独立部署意思就是说把大房子拆成小房子之后每一座小房子都可以自己单独地重新装修、重新摆出来给大家用而完全不用去打扰别的小房子。这样做有四个大好处第一是快因为只摆一座小房子速度快第二是不耽误别人一座房子装修别的房子照常用第三是安全就算出错也只影响一座小房子影响很小第四是可以同时干很多活大家各忙各的效率高。当然啦房子多了也需要更用心地去管理这是叔叔阿姨们要操心的地方。希望通过今天这个换灯泡、装修小房子的故事你能牢牢记住独立部署这个有趣又有用的本领。等你长大了说不定也会成为一位了不起的程序员盖出一座座能各自单独装修的聪明小房子做出又好用又稳定的软件让全世界的人用起来都开开心心的。今天就讲到这里我们下次再见啦