课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
微服务架构随着互联网的不断发展而被众多程序员掌握,今天我们就通过案例分析来了解一下,响应式微服务的定义与应用。
响应式微服务定义
使用微服务架构关键的一个原则就是将系统划分成一个个相互隔离、无依赖的子系统,这些子系统通过定义良好的协议进行通信。其中隔离是实现弹性、可伸缩系统的前提,并且需要在服务间建立异步通信边界,因此要在以下两方面进行解耦:
时间:允许并发。
空间:允许分布式和移动性,即服务能够随时移动。
此外,微服务还需要消除共享状态从而小化相互协作、联结的成本,要尽量达到“不共享任何东西”。
隔离任何东西
隔离是微服务架构中重要的特性。不仅仅是微服务带来的很多优势的基础,也是对设计和架构影响大的方面。如康威定律所说,它还对组织架构有非常大的影响。
系统的结构是对团队组织架构的反映。
失败隔离是一种与“舱壁”(船舱的隔板)相关的设计模式:隔离错误、失败以防止其蔓延至所有服务,导致更大面积的失败。
“舱壁”这种模式已经在轮船上使用了几个世纪:创建一个个密封不漏水的空间以防止船的外壳破损或者其他泄漏。这些空间是完全互相隔离的,这样即使一个隔离区充满了水,也不会蔓延流到其他隔离空间中,从而使得船整体仍然能够运作。
弹性(从失败中恢复的能力)即依赖于这种舱壁和失败隔离的设计,并且需要打破同步通信机制。由此,微服务一般是在边界之间使用异步消息传输,从而使得正常的业务逻辑避免对捕获错误、错误处理的依赖。
进一步的,服务之间的隔离使得“持续交付”变得很容易,能够随时地部署服务而无需担心影响正常的业务。而且隔离的单个服务很容易监控、调试、测试和部署,非常便于扩展。
自主地行动
上面所讲的隔离是自主性的前提。只有当服务之间是完全隔离的,那么才可能实现完全的自主,包括独立的决策、独立的行动以及与其他服务协调合作来解决问题。
一个自主的服务仅仅保证其对外公布的协议/API的正确性即可。如此,不仅能够让我们更好地了解协作的这些系统以及对他们的建模,也能够在面对冲突、失败状况时,只在一个服务内进行排查、修复即可。
使用自主服务能够给服务编排、工作流管理以及服务合作上带来很大灵活性,同时也带来可扩展性、可用性、运行时管理等优势。但其付出的代价就是需要花心思在定义良好的可组合的API设计上,这个是有一定挑战性的。
希望这辈子,最让你无悔的事情就是来达内学习!学习向来不是件易事,但无论过程多么艰难,希望你依然热爱生活,热爱学习!永远记得,达内将与你一同前行!现在扫码,立即领取万元课程礼包,助力0基础快速入行,为你梳理行业必备技能,全方位了解岗位发展前景!
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。