【SpringCloud】微服务架构设计模式

一、聚合气微服务设计模式

最常见、最简单的设计模式,效果如图所示: 

聚合器调用多个服务实现应用程序所需的功能 

它可以是一个简单的 Web 页面,将检索到的数据进行处理并展示,也可以是一个更高层次的组合微服务,对检索到的数据增加业务逻辑后进一步发布成一个新的微服务,这符合 DRY 原则 

另外,每个服务都有自己的缓存和数据库系统 

如果聚合器是一个组合服务,那么它也有自己的缓存和数据库 

二、代理微服务设计模式

这是聚合模式的一个变种,如图所示:

在这种情况下,客户端并不聚合数据,但会根据业务需求的差别调用不同的微服务 

代理仅仅可以委派请求,也可以进行数据转换工作 

每个微服务都有自己独立地缓存和数据库系统,彼此独立 

三、链式微服务设计模式

这种模式在接收到请求后会产生一个经过合并的响应,如图所示: 

Load Balancer 到 Service A 的线只有单向,如图一,此处为绘画错误

在这种情况下,服务 A 接收到请求后会与服务 B 进行通信,类似地,服务 B 会同服务 C 进行通信 

所有服务都使用同步消息传递 

在整个链式调用完成之前,客户端会一直阻塞 

因此,服务调用链不宜过长,以免客户端长时间等待 

四、分支微服务设计模式

这种模式是聚合器模式的扩展,允许同时调用两个微服务链,如图所示: 

Load Balancer 到 Service A 的线只有单向,如图一,此处为绘画错误

每个调用链分别调用自己的服务 

当某个调用出现问题时,互相之间不是造成影响

五、数据共享微服务设计模式

自治是微服务的设计模式之一,也就是说微服务是全栈式服务 

但在重构现有的 “单体应用(monolithic application)” 时,SQL 数据库反规范化可能会导致数据重复和不一致 

因此,在单体应用到微服务架构的过渡阶段,可以使用这种设计模式。如图所示: 

Load Balancer 到 Service A 的线只有单向,如图一,此处为绘画错误 

在这种情况下,部分微服务可能会共享缓存和数据库存储 

不过,这只有在两个服务之间存在强耦合关系才可以 

对于基于微服务的新建应用程序而言,这是一种反模式 

六、异步消息传递微服务设计模式

虽然 RESTful 设计模式非常流行,但它是同步的,会造成阻塞 

因此部分基于微服务的架构可能会选择使用消息队列代替 RESTful 请求 / 响应,如图所示: 

各个服务之间通过异步的消息队列进行交互,当服务出现问题时,不会造成阻塞,队列会帮忙缓存消息,直到消息服务开始工作 

参考资料:《微服务架构实战》—— 张锋

一  叶  知  秋,奥  妙  玄  心 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/184438.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenAI研发神秘“Q*”模型:科学家认输,AI赢了人类关键一战

图片来源:视觉中国 作者丨叶蓁 编辑丨康晓 出品丨深网腾讯新闻小满工作室 在山姆奥特曼(Sam Altman)被OpenAI前董事会突然罢免之前,数位研究人员向董事会发送了一封信,警告称他们发现了一种能够威胁到人类的强大人工…

护眼灯值不值得买?央视力推五款护眼台灯推荐

为了预防孩子近视,台灯已经成为许多家庭的标配。然而,灯光是一种看得见摸不着的商品,导致家长们选购台灯的核心指标可能只有两个:价格以及亮度。但很明显,这两项指标并不能决定台灯是否护眼。如果家长们不了解具体的判…

学习ComplexHeatmap复杂热图

iMeta | 复杂热图(ComplexHeatmap)可视化文章最新版,画热图就引它_生信宝典的博客-CSDN博客 作者贡献 顾祖光:研究课题的提出和设计, 软件编写,可视化,数据分析,论文编写,修订和审阅。 代码和…

FIB表与快速转发表工作原理

在一张路由表中,当存在多个路由项可同时匹配目的IP地址时,路由查找进程会选择掩码最长的路由项用于转发,即最长匹配原则。因为掩码越长,所处的网段范围就越小,网段的范围越小,就越能快速的定位到PC机的具体…

AC自动机(简单模板)

AC自动机,就相当于是在字典树上用kmp。next数组回退的位置为最大匹配字符串在字典树上的节点位置。 在获取字典树上的next数组的时候用的是BFS每次相当与处理的一层。 下图中红线为,可以回退的位置,没有红线的节点回退的位置都是虚拟原点。…

Nginx 配置错误导致的漏洞

目录 1. CRLF注入漏洞 Bottle HTTP头注入漏洞 2.目录穿越漏洞 3. http add_header被覆盖 本篇要复现的漏洞实验有一个网站直接为我们提供了Docker的环境,我们只需要下载下来就可以使用: Docker环境的安装可以参考:Docker安装 漏洞环境的…

Android笔记(十五):JetPack Compose的附带效应(二)-produceState和derivedStateOf

在本笔记中,将结合实例介绍produceState和derivedStateOf两个可组合函数。它们分别实现状态的转换。 (1)produceState将非Compose状态转换虫Compose状态 (2)derivedStateOf将多个状态转换成其他状态。 一、produceSta…

NFC技术简介

NFC简介 NFC(近场通信,Near Field Communication)是一种短距高频的无线电技术,由非接触式射频识别(RFID)演变而来。 NFC工作频率为13.56Hz,通常只有在距离不超过4厘米时才能启动连接,其传输速度有106 Kbit/秒、212 Kb…

「Whale 帷幄」连续入选科技榜单,AGI 冲击波正在加速行业洗牌

以 AGI 为底座,品牌 MarTech 正在经历一场前所未有的深度变革。 近日,弯弓研究院发布「中国 MarTech 500 强榜单」,以 2023 中国营销技术(MarTech)生态为研究对象,洞察行业现象与未来趋势。作为品牌数字化…

视频剪辑新招:批量随机分割,分享精彩瞬间

随着社交媒体的普及,短视频已经成为分享生活、交流信息的重要方式。为制作出吸引的短视频,许多创作者都投入了大量的时间和精力进行剪辑。然而,对于一些没有剪辑经验的新手来说,这个过程可能会非常繁琐。现在一起来看云炫AI智剪批…

AI制作的《大多数普通女孩的一生》——公开教程和工作流

内容来源:JiamigouCn ​这周由AI制作的《大多数普通女孩的一生》,在抖音爆火,获得新华网转发。到目前为止,全网还没有公开教程和工作流,需要花费800-2000购买。 本着AI社区共享原则,我委托公众号“楚思智能…

Debian12试用报告

环境: win11vbox 虚拟机 网络: host-only访问局域网 nat 访问外网, 配置为dhcp动态获取ip 遇到的问题: 偶尔卡死: nat每次开机都不生效, 外网无法访问; 开机后 重启网络可解决 sudo /etc/init.d/networking restart host-only倒是没问题, 内网正常访问 vim9还是用不习…

ubuntu22.04 arrch64版在线安装java环境

脚本 #安装java#!/bin/bashif type -p java; thenecho "Java has been installed."else#2.Installed Java , must install wgetwget -c https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-arm64-vfp-hflt.tar.gz;tar -zxvf ./jdk-8u151-linux-arm6…

【Spring集成MyBatis】核心配置文件

文章目录 1. typeHandlers标签2. plugins标签通过PageHelper的API获取分页的信息 1. typeHandlers标签 可以重写类型处理器,或创建类型处理器来处理不支持/非标准的类型。选择性地将它映射到一个JDBC类型:如Java中的Date类型,将其存放到数据…

“土味出海”,屡试不爽!短剧出海引来新一轮爆发?

土味和“钱途”并存的短剧不仅在国内迅猛爆发,今年下半年以来海外市场多部爆火短剧出现,“短剧出海”的话题热度不断攀升,丝毫不差2021年网文出海的盛况。 “霸总的爱,日入千万刀”,是真实存在的! 据统计…

快手ConnectionError

因为运行的程序被中断导致 top然后查看站用处内存高的accelerate kill进程号 9回车

概要设计文档案例分享

1引言 1.1编写目的 1.2项目背景 1.3参考资料 2系统总体设计 2.1整体架构 2.2整体功能架构 2.3整体技术架构 2.4运行环境设计 2.5设计目标 3系统功能模块设计 3.1个人办公 4性能设计 4.1响应时间 4.2并发用户数 5接口设计 5.1接口设计原则 5.2接口实现方式 6运行设计 6.1运行模块…

图像标记上线,描点信息尽在掌握丨三叠云

图像标记 路径 表单设计 >> 组件 >> 增强组件 功能简介 「图像标记」字段是「增强字段」类型字段。用户通过上传图片的方式构建一个背景图片,并在构建的图片背景上添加描点信息。搭配「仪表盘」中的「图像轨迹」,可绘制出相应的数据轨迹…

MySQL数据库入门到大牛_基础_14_视图及基本操作

本章开始将会介绍表之外的数据库对象。 文章目录 1. 常见的数据库对象2. 视图概述2.1 为什么使用视图?2.2 视图的理解 3. 创建视图3.1 创建单表视图3.2 创建多表联合视图3.3 基于视图创建视图 4. 查看视图5. 更新视图的数据5.1 一般情况5.2 不可更新的视图 6. 修改…

马斯克星链与芯事:30亿美元炸出卫星互联网革命,GPU算力创无限可能

★卫星互联网;算力;卫星通信;互联网;低轨卫星互联网;5G基础设施;GPT-4 Turbo;算力;地面通信;液冷;水冷;AI服务器;东数西算&#xff1b…