springcloud alibaba微服务框架涉及的技术

一、微服务架构中核心模块及其使用技术总览

二、各模块详细说明

1、注册中心

该模块主要功能为 自动提供服务的注册与发现,集中式管理服务,让 服务调用端发现服务服务提供端注册服务,倘若没有注册中心,那客户端就需要维护服务端调用信息(ip、端口),另外这样操作服务调用端是无法感知服务提供端的健康状态,需要人为添加与剔除服务,维护成本高,因此需要注册中心来帮助我们来完成这些事儿。

相应技术栈对比:

注:上表AP、CP是指CAP理论

2、服务调用

该模块主要功能为负责各微服务之间的通讯, 实现服务端的远程调用,常见技术有,RestTemplate、Feign、OpenFeign。

服务调用框架对比:

3、均衡负载

该模块主要功能是负责将 请求经过一定策略均衡的分配到服务端,当我们的服务提供端同一个服务配置额多个实例(集群)时,就需要负载均衡模块协助分配请求到对应服务实例,如果服务配置单个,就不要此模块,但是为了保证高可用都会配置多个实例。

常见负载均衡策略:轮询、随机、权重轮询、ip hash、根据响应时间计算、最优策略

负载均衡模块对比:

4、服务降级、熔断(容错)

服务降级、熔断、限流是微服务架构保证高可用的得力助手,之所以出现这三兄弟,是因为我们的微服务与微服务直接相互调用,错综复杂,调用链路很长,如果微服务体系中某个服务宕机,就会造成微服务系统瘫痪,如下图:

服务降级: 在服务调用(消费)端做的一种兜底措施,当服务器处理结果不符合预期(服务响应超时、服务出错、宕机等),就把兜底的结果返回客户,以此保证服务消费方正常运行,不至于死等服务器结果,链路积压崩溃。

服务熔断:发生在服务提供方,包含三个状态,降级->熔断->恢复。当满足熔断条件时就会触发熔断,触发熔断首先会降级处理,返回兜底数据,然后开启熔断,熔断开启后,不管三七二十一,请求正确与否,都会在一段时间内返回兜底数据,然后尝试恢复,也就是放行请求,如果请求处理正常,就会关闭熔断。(后面章节会代码演示)

服务限流:服务限流是为了让服务器平稳的处理请求,也是对服务的一种保护措施,不至于把服务拖死,比如我的服务10S内最多同时处理50个请求,突然间来了100个请求,50个以外要么排队要么丢弃,同一时间内我的服务只处理50个请求,如果不做限流,100个请求压在服务端,服务器忙不过来的!就有崩溃风险。

常见主流的技术: HyStrix、Sentinel、Resilience4j(国外使用)

5、服务网关

网关是在我们的微服务基础上在封装的一层服务,网关后面是我们系统的各个微服务,负责转发前端请求到各个服务,就像公司前台一样,公司外部人员首先接触的是前台人员,再由前台人员对接公司内部人员。

一般网关主要包含三个模块:断言(根据配置决定是否进行下一步)-> 路由匹配 -> 路由转发,网关是微服务体系重要的环节,他能保护我们的服务不被侵害,同时还能做鉴权全局日志采集容错限流、反向代理

目前主流技术为getway,zuul已经跟不上时代步伐了,因为他底层采用的是servlet,servlet是一种阻塞io,满足不了高并发场景,而且不支持任何长连接,而getway后期新秀,底层采用netty做支撑,是一种异步非阻塞io,处理请求能力远远强于 servlet。

6、配置中心

配置中心的存在主要是为了解决大量微服务下的公共配置以及动态配置问题,我们都知道,每个微服务是由springboot做支撑,每个springboot项目都会有一个application的配置文件,如果某些配置发生变化,得一个一个服务去修改,这样加大维护工作量,特别是运维老哥! 另外每次修改配置还得重启服务,因此对动态配置也有强烈需求,基于这样的背景而产生配置中心模块。

常见配置中心技术支持有: springCloud config,nacos。

7、服务总线

服务总线,顾名思义他是为我们所有服务提供服务,在微服务体系中通常会有一些公共的消息,比如上步骤提到的动态配置,就需要服务总线的支撑,各个微服务向服务总线订阅消息,进而监听总线,当总线发生变动时,订阅的服务可以感知,然后同步更新自己,服务总线一般搭配着消息中间件,如RabbitMq(MQ)、kafka等,此外服务总线还具有定点通知某个或多个服务的功能

总之服务总线就像一个妈妈管着一群孩子一样,通过妈妈向所有孩子或者某个孩子传达消息,从而改变孩子的某些行为或功能。

常见技术支撑有: springcloud bus,nacos

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java基础】初识正则表达式

正则表达式只适用于字符串 匹配matches 实际使用的是String类中定义的方法boolean matches(String regex) public static void piPei( ){String regex"[1][356789]\\d{9}";boolean boo"14838384388".matches(regex);System.out.println(boo); }验证qq号…

前后端完全开源!功能丰富的在线教室项目:Agora Flat

Agora Flat:高效集成的在线教室解决方案,重塑互动学习新体验。- 精选真开源,释放新价值。 概览 Agora Flat是在GitHub平台上公开分享的一个全面开源项目,它精心设计为一个高性能的在线教室解决方案,旨在便捷地搭建支持…

政安晨:【Keras机器学习示例演绎】(四十二)—— 使用 KerasNLP 和 tf.distribute 进行数据并行训练

目录 简介 导入 基本批量大小和学习率 计算按比例分配的批量大小和学习率 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在…

Linux提权--内核漏洞--web用户提权(脏牛)本地提权(脏管道)

免责声明:本文仅做技术交流与学习... 目录 Linux-内核漏洞Web用户提权-探针&利用-脏牛dcow nmap扫描目标IP及端口 导入脚本,进行探针 通过MSF发现目标机器存在脏牛漏洞 ---上传信息搜集的文件,查找漏洞,利用漏洞,继续上传EXP. --密码改了,再用xshell连一下就行了. …

对话易参创始人黄怡然:股权能不能赋能企业增长?| 极新企服直播实录

“ 致所有爱画饼的老板 ” 整理 | 云舒 编辑 | 小白 出品|极新 2022年以前,股权激励作为企业实现增长、吸引人才、保留人才并大幅度激发人才价值的重要手段,几乎成为每一个企业的标配。但是,现在这个时代,股权激励几…

Python 将Excel转换为多种图片格式(PNG, JPG, BMP, SVG)

目录 安装Python Excel库 使用Python将Excel工作表转换为PNG,JPG或BMP图片 使用Python将Excel特定单元格区域转换为PNG,JPG或BMP图片 使用Python将Excel工作表转换为SVG图片 有时,你可能希望以图片形式分享Excel数据,以防止他…

基于遗传优化的双BP神经网络金融序列预测算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于遗传优化的双BP神经网络金融序列预测算法matlab仿真,采用的双BP神经网络结构如下: 2.测试软件版本以及运行结果展示 MATLAB2022A版本…

【讲解下目标追踪】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

个人微信api

简要描述: 退出群聊 请求URL: http://域名地址/quitChatRoom 请求方式: POST 请求头Headers: Content-Type:application/json Authorization:login接口返回 参数: 参数名 必选 类型 …

物流EDI:GEFCO EDI 需求分析

GEFCO专注于汽车物流领域近70年,是欧洲整车市场的物流供应商,也是欧洲十大领先的运输和物流集团之一。GEFCO的业务遍及六大洲,业务覆盖150个国家,在全球拥有庞大的员工队伍,在全球汽车行业的挑战中茁壮成长。为汽车制造…

MySQL-索引篇

文章目录 什么是索引?索引的优缺点索引底层数据结构选型Hash表二叉查找树AVL树红黑树B树&B树 索引类型总结主键索引二级索引聚集索引与非聚集索引聚集索引非聚集索引 覆盖索引与关联索引覆盖索引联合查询最左前缀匹配原则 索引下推如何正确使用索引选择合适的字…

iOS Xcode Debug View Hierarchy 查看视图层级结构

前言 我们难免会遇到接手别人项目的情况,让你去改他遗留的问题,想想都头大,😂可是也不得不面对。作为开发者只要让我们找到出问题的代码文件,我们就总有办法去解决它,那么如何快速定位问题对应的代码文件呢…

r语言数据分析案例-北京市气温预测分析与研究

一、选题背景 近年来,人类大量燃烧煤炭、天然气等含碳燃料导致温室气 体过度排放,大量温室气体强烈吸收地面辐射中的红外线,造 成温室效应不断累积,使得地球温度上升,造成全球气候变暖。 气象温度的预测一直以来都是…

python视频转码脚本

今天有一个临时的需求,就是需要将一个wmv的初步转码成mp4的格式。找了一圈,免费的工具少,即使有免费的工具,在功能上也是有所限制,或者会给你塞广告或者附带安装其它流氓小游戏或者杀毒程序。 我并非不支持正版&#…

前端笔记-day05

文章目录 01-结构伪类选择器02-结构伪类选择器-公式用法03-伪元素选择器04-盒子模型-组成05-盒子模型-边框线06-盒子模型-单方向边框线07-盒子模型-内边距08-盒子模型-padding多值写法09-盒子模型-尺寸计算10-盒子模型-版心居中11-清除默认样式12-元素溢出overflow13-外边距合并…

贪心算法-----柠檬水找零

今日题目:leetcode860 题目链接:点击跳转题目 分析: 顾客只会给三种面值:5、10、20,先分类讨论 当收到5美元时:不用找零,面值5张数1当收到10美元时:找零5美元,面值5张数…

3588 pwm android12 的操作

问题: 客户需要在android12 的界面上操作板卡上的 PWM 蜂鸣器设备。 过程: 1 了解一下 3588 android12 源码的 关于PWM 的驱动。 设备树找不到 pwm 但是, 还不知道,android12 最终包含的 设备树是哪个,但是经过我的…

Meilisearch使用过程趟过的坑

Elasticsearch 做为老牌搜索引擎,功能基本满足,但复杂,重量级,适合大数据量。 MeiliSearch 设计目标针对数据在 500GB 左右的搜索需求,极快,单文件,超轻量。 所以,对于中小型项目来说…

使用html和css实现个人简历表单的制作

根据下列要求,做出下图所示的个人简历(表单) 表单要求 Ⅰ、表格整体的边框为1像素,单元格间距为0,表格中前六列列宽均为100像素,第七列 为200像素,表格整体在页面上居中显示; Ⅱ、前…

2024年电工杯数学建模竞赛A题B题思路代码分享

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片链接,那是获取资料的入口! 点击链接加入群聊【2024电工杯】:http://qm.qq.com/cgi-bin/qm/qr?_wv1027&k_PrjarulWZU8JsAOA9gnj_oHKIjFe195&authKeySbv2XM853…