微服务架构 本是古典 何须时尚 2022-05-23 06:47 51阅读 0赞 ## 一、微服务架构介绍 ## [微服务架构][Link 1](Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的 类上应用很多SOLID原则。微服务架构是个很有趣的概念,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。 **概念**:把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。 **定义**:围绕业务领域组件来创建应用,这些应用可独立地进行开发、管理和迭代。在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。 **本质**:用一些功能比较明确、业务比较精练的服务去解决更大、更实际的问题。 ## 二、六种常见的微服务架构设计模式: ## **1、聚合器微服务设计模式** 这是一种最常见也最简单的设计模式: ![这里写图片描述][983980-20170501201000148-1677353522.png] 聚合器调用多个服务实现应用程序所需的功能。它可以是一个简单的Web页面,将检索到的数据进行处理展示。它也可以是一个更高层次的组合微服务,对检索到的数据增加业务逻辑后进一步 发布成一个新的微服务,这符合DRY原则。另外,每个服务都有自己的缓存和数据库。如果聚合器是一个组合服务,那么它也有自己的缓存和数据库。聚合器可以沿X轴和Z轴独立扩展。 **2、代理微服务设计模式** 这是聚合模式的一个变种,如下图所示: ![这里写图片描述][983980-20170501201046898-281749162.png] 在这种情况下,客户端并不聚合数据,但会根据业务需求的差别调用不同的微服务。代理可以仅仅委派请求,也可以进行数据转换工作。 **3、链式微服务设计模式** 这种模式在接收到请求后会产生一个经过合并的响应,如下图所示: ![这里写图片描述][983980-20170501201150117-1722000003.png] 在这种情况下,服务A接收到请求后会与服务B进行通信,类似地,服务B会同服务C进行通信。所有服务都使用同步消息传递。在整个链式调用完成之前,客户端会一直阻塞。 因此,服务调用链不宜过长,以免客户端长时间等待。 **4、分支微服务设计模式** 这种模式是聚合器模式的扩展,允许同时调用两个微服务链,如下图所示: ![这里写图片描述][983980-20170501201226507-2146929767.png] **5、数据共享微服务设计模式** 自治是微服务的设计原则之一,就是说微服务是全栈式服务。但在重构现有的“单体应用(monolithic application)”时,SQL数据库反规范化可能会导致数据重复和不一致。 因此,在单体应用到微服务架构的过渡阶段,可以使用这种设计模式,如下图所示: ![这里写图片描述][983980-20170501201353945-1013665174.png] 在这种情况下,部分微服务可能会共享缓存和数据库存储。不过,这只有在两个服务之间存在强耦合关系时才可以。对于基于微服务的新建应用程序而言,这是一种反模式。 **6、异步消息传递微服务设计模式** 虽然REST设计模式非常流行,但它是同步的,会造成阻塞。因此部分基于微服务的架构可能会选择使用消息队列代替REST请求/响应,如下图所示: ![这里写图片描述][983980-20170501201415054-327655979.png] [Link 1]: https://www.cnblogs.com/imyalost/p/6792724.html [983980-20170501201000148-1677353522.png]: /images/20220523/730a2f182a4f4b028455d45916dc3b4b.png [983980-20170501201046898-281749162.png]: /images/20220523/9656a34ceb6f472aacf55879d3054635.png [983980-20170501201150117-1722000003.png]: /images/20220523/252fb1a8b03343f080ef07305310a100.png [983980-20170501201226507-2146929767.png]: /images/20220523/f797f13a13c74b7a8f506a0c29acd969.png [983980-20170501201353945-1013665174.png]: /images/20220523/de14c55c6af94952b362b4992fec021b.png [983980-20170501201415054-327655979.png]: /images/20220523/363b25b54f714976810aa7652b286570.png
相关 【微服务】微服务架构设计 文章目录 背景 一、流量入口Nginx 二、网关 三、业务组件 四、服务注册中心 五、缓存和分布式锁 六、数据持久层 七、 亦凉/ 2023年10月12日 18:07/ 0 赞/ 105 阅读
相关 微服务架构 — 微服务框架 目录 文章目录 目录 微服务框架 第一代微服务框架 Spring Cloud Dubbo 下一代微服务框架 — S 迈不过友情╰/ 2023年10月05日 04:47/ 0 赞/ 61 阅读
相关 架构:微服务架构 系统架构设计描述了在应用系统的内部,如何根据业务、技术、组织、灵活性、可扩展性以及可维护性等多种因素,将应用系统划分成不同的部分,并使这些部分彼此之间相互分工、相互协作,从而为 古城微笑少年丶/ 2023年07月10日 08:59/ 0 赞/ 44 阅读
相关 微服务架构 Microservices a definition of this new architectural term The term "Microservice Arc 忘是亡心i/ 2022年07月13日 06:08/ 0 赞/ 569 阅读
相关 微服务架构 微服务架构 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术 £神魔★判官ぃ/ 2022年04月25日 07:06/ 0 赞/ 303 阅读
相关 微服务架构 [微服务架构核心20讲][20] -------------------- 01 | 微服务定义 微服务是一种架构风格 大中台,小前台 > 定义一 一 港控/mmm°/ 2022年04月24日 04:08/ 0 赞/ 439 阅读
相关 微服务与微服务架构 什么是微服务? > 微服务的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是 偏执的太偏执、/ 2021年12月17日 05:59/ 0 赞/ 629 阅读
相关 微服务架构 1、微服务简介 微服务是一种软件架构模式。 它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和 た 入场券/ 2021年11月17日 08:02/ 0 赞/ 505 阅读
相关 微服务架构 一、先了解一下什么是单体应用 就是一个应用程序包含了所有模块功能,各模块同时部署。当然这种应用模式比较容易部署、测试,但随着项目的加大,单体模式就会变得越来越臃肿,维护的成 古城微笑少年丶/ 2021年09月23日 07:40/ 0 赞/ 618 阅读
还没有评论,来说两句吧...