为什么微服务就像排舞
编舞
老年人
服务边界
复合用户界面
服务发现
最终一致性
消息传递
服务自主性
CAP定理
可扩展性
健康检查
遗产
保持联系
软件开发职业生涯导航简报
这是受……启发而创作的。
文章已失效
这起暴行应该归咎于@helenanders26 。
编舞
排舞是一种编排好的舞蹈,舞者们排成一排,同步跳舞。
就像服务需要由 Kubernetes 等总体系统进行编排一样。
老年人
看来排舞很受老年人欢迎。当一大群老年人聚在一起想找点乐子时,排舞就成了个不错的选择。这很像微服务。
但别被蒙蔽了。初级员工或许认为自己能胜任,但要熟练掌握并成功执行任务,需要多年的经验积累。
服务边界
在排舞中,人们排成一排,称为“墙”。舞者必须待在各自的“墙”的范围内,否则就会失去高度的凝聚力。
如果这种情况发生,就会出现高耦合现象。在一支由许多脆弱部件组成的舞蹈中,这很糟糕。它会成为一连串多米诺骨牌倒下的第一张……
复合用户界面
排舞可能真的有很多墙!
许多墙体组合在一起形成一个复合体,其整体外观和功能都比一个巨大的、单一的、均质的墙体要好得多。
服务发现
加入已有的排舞时,你走到队伍末尾,成为舞蹈的一部分。这时,我们的舞者就被发现了。
他必须尽快弄清楚自己身边的人是谁,以免造成任何失败。
如果他真的造成了失败,经验丰富的舞者会有足够的韧性退回到之前的状态。
最终一致性
舞者有责任确保自己和其他舞者一起开始跳起舞来,步调保持一致。
如果舞者偶尔漏掉一些舞步,通常也没关系,因为舞蹈最终会变得流畅自然。
消息传递
跳舞时,舞者之间不得有身体接触,但必须聆听音乐和节拍中已公布的某些提示。
使用异步消息可以确保舞者在需要时能够继续高效地跳舞并指导其他舞者。
服务自主性
舞者拥有自主权,可以随时加入或离开舞池。如果他们想升级舞鞋,稍后再回来——就像服务部署一样——也没问题。
此外,舞者可以灵活地发展自己的个人风格,就像服务提供商可以选择使用自己的一套技术一样。
CAP定理
有些舞蹈,例如职业联赛中的舞蹈,必须确保整支舞步的一致性。如果出现任何失误,这支舞就会被扣分,并被视为表演不佳。
另一方面,比较非正式的舞会则更注重确保有足够的舞者可以参加。如果出现任何意外情况,我们随时可以更换舞者,重新发掘他们的潜力。
可扩展性
排舞可以发展成相当大规模的舞蹈。实际上,只要你想,规模就能做到很大。
如果音乐系统播放新的音乐,每面墙或每排座椅都可以缩放,以便让需要一些额外活力的新人加入。
健康检查
开始跳舞之前,进行健康检查非常重要。如果任何舞者未能通过这项检查,那么他们最好退出下一轮比赛。
我们不希望任何老年人受伤。
遗产
排舞很难。许多老年人对学习排舞可能遇到的困难感到担忧。
下次你想组织排舞的时候要小心。
这可能会导致您的长辈留下糟糕的遗产,尤其是在健康检查不合格的情况下。
保持联系
软件开发职业生涯导航简报
一份助您提升软件开发职业生涯的电子邮件简报!您是否曾想过:
✔ 软件开发人员的职业发展阶段有哪些?
✔ 我如何知道自己处于哪个阶段?如何才能进入下一个阶段?
✔ 什么是技术领导者?如何才能成为一名技术领导者?
✔ 是否有人愿意指导我并解答我的疑问?
听起来很有趣?加入我们吧!
文章来源:https://dev.to/jamesmh/why-microservices-are-like-line-dancing-51cn