微服务框架 SpringCloud微服务架构 微服务面试篇 54 微服务篇 54.1 SpringCloud常见组件有哪些?

news2025/4/20 11:43:43

微服务框架

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】

微服务面试篇

文章目录

      • 微服务框架
      • 微服务面试篇
      • 54 微服务篇
        • 54.1 SpringCloud常见组件有哪些?

54 微服务篇

54.1 SpringCloud常见组件有哪些?

问题说明:这个题目主要考察对SpringCloud的组件基本了解

难易程度:简单

参考话术

【脑子里面 要有一幅图:很多微服务放一块儿】

在这里插入图片描述

SpringCloud包含的组件很多,有很多功能是重复的。其中最常用组件包括:

  • 注册中心组件:Eureka、Nacos等

    • Eureka:服务发现【注册中心】

      在这里插入图片描述

      作用:实现服务治理【服务注册与发现】

      Spring Cloud Eureka是Spring Cloud Netflix项目下的服务治理模块。

                  由两个组件组成:Eureka服务端和Eureka客户端。
      
                  Eureka服务端用作服务注册中心。支持集群部署。
      
                  Eureka客户端是一个java客户端,用来处理服务注册与发现。
      
                 在应用启动时,Eureka客户端向服务端注册自己的服务信息,同时将服务端的服务信息缓存到本地。客户端会和服务端周期性的进行心跳交互,以更新服务租约和服务信息。
      
    • Nacos:Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。

  • 负载均衡组件:Ribbon

    • Ribbon【客服端 负载均衡】

      在这里插入图片描述

      作用:主要提供客户侧的软件负载均衡算法。

      简介:Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。

  • 远程调用组件:OpenFeign【服务之间实现远程调用】

    • OpenFeign

      Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign

      在这里插入图片描述

      其作用就是帮助我们优雅的实现http请求的发送.

  • 网关组件:Zuul、Gateway

    网关功能:

    • 身份认证和权限校验

    • 服务路由、负载均衡

    • 请求限流【对微服务的保护措施】

    • Zuul【服务网关】

      在这里插入图片描述

      作用:api 网关,路由,负载均衡等多种作用

      简介:类似nginx,反向代理的功能,不过netflix自己增加了一些配合其他组件的特性。

      在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路由到相应的服务。当添加API网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端。

    • Gateway

      在SpringCloud中网关的实现包括两种:

      • gateway
      • zuul

      Zuul是基于Servlet的实现,属于阻塞式编程。而SpringCloudGateway则是基于Spring5中提供的WebFlux,属于响应式编程的实现,具备更好的性能。

  • 服务保护组件:Hystrix、Sentinel

    • Hystrix【断路器】

      在这里插入图片描述

      作用:断路器,保护系统,控制故障范围

      简介:为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。

    • Sentinel

      为了避免业务请求真的来了很多,引入Sentinel

      在这里插入图片描述

      Sentinel 可以按照这个服务可以承受的频率,去释放请求【预防雪崩,而前面三种是已经出现故障 了,如何避免故障传递】

  • 服务配置管理组件:SpringCloudConfig、Nacos

    • SpringCloudConfig

      在这里插入图片描述

      作用:配置管理

      简介:SpringCloud Config提供服务器端和客户端。服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具。这是静态的,动态的需要配合Spring Cloud Bus实现动态的配置更新。

    • Nacos

      Nacos:Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【验证码逆向专栏】某片滑块、点选验证码逆向分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未…

30岁了想转行学Python,来得及吗?

是否来得及要看决心有多大,行动力有多强。一般来说,只要目标明确,足够自律,心理强大,做任何事情都是来得及的,当下就是最好的开始。30岁真的不算啥,有人四五十岁才开始奋斗,依然能过…

C语言之内存管理(十七)(转世灵童现世)

上一篇: C语言入门篇之轮回法器(十六)(指针第五卷) 逐梦编程,让中华屹立世界之巅。 简单的事情重复做,重复的事情用心做,用心的事情坚持做; 文章目录前言一、内存管理具体介绍1.作用域2.生命周期的定义3.局…

为什么说学人工智能一定要学Python?

有很多人在问博主,为什么人工智能学习要用Python?运行速度慢不好之类的,今天就让博主谈谈自己的感受。 先来说说前景 随着“大数据”“云计算”“人工智能”等等科技的兴起,IT行业在今后三到五年将会迎来一个高速发展期。这也就意…

QT调用python传递图像和二维数组,并接受python返回值(图像)

任务目的: 用QT调用python代码,将QT读取的图像(Mat矩阵)作为参数传入python中,将QT的二维数组作为参数传递给python,python接收QT传入的图像进行计算,将结果返回给QT。 实现过程 1.新建QT项目 说明:QT的…

[Cortex-M3]-5-cache uncache

目录 1 cache的引入 2 cache的工作原理 3 cache使用限制 1 cache的引入 程序运行的流程(很简单): 程序编译:存放在flash;程序加载:程序加载到内存;程序运行:指令从内存复制到CP…

【产品人卫朋】自媒体运营的5个阶段,以及增长策略

本篇内容以微信公众号为例讲解自媒体的运营策略。 建立一个快速发展的微信公众号,需要多长时间呢? 有些人在一年内就可以建立一个蓬勃发展的公众号,而其他人则可能需要两年、三年甚至是五年的时间。 在发展的过程中,你的公众号将经…

阿里工程师告诉你,0基础如何自学python进大厂

大概一年前这个朋友就想学习Python了,但因为工作比较忙,而且觉得Python肯定不太好学,所以一直搁置在那里。 宅家学Python 到了今年1月28日也就是大年初三的时候,眼看新冠肺炎疫情不会短时间结束了,全国各地都在严控&…

原型模式

开始原型模式前,我们要知道深拷贝的定义,因为原型模式中的克隆操作核心就是深拷贝。 深拷贝和浅拷贝 下图为浅拷贝(即是编译器的默认版本), 只拷贝了指针, 两个指针同时指向一个内存, 会有危险(a改变时b也改变, 称为别名) , 导致内存泄漏 调用strcpy复…

Qt扫盲-QTreeWidget理论总结

QTreeWidget理论总结1. 简述2. QTreeWidgetItem 简述3. 头标签4. 常用功能5. 槽函数6. 信号1. 简述 QTreeWidget 类是Qt提供了一个标准的树部件,该部件具有经典的基于 Item 的界面,每个Item都是一个 QTreeWidgetItem。这个标准的树控件不需要model/view…

文科女进德国IBM实习做程序媛,我是怎么办到的?

很快我在IBM德国区实习的第一个月就要结束了。 作为一个土生土长的文科生(硕士语言学、本科语言学商科),现在竟在欧洲混入跨国科技公司做编程技术类实习生,我自己也挺意外的。 尽管只是一点点微不足道的个人经历,此时…

教你如何优雅的转行Python程序员,一学就会

在实际的工作中,我们经常发现,很多朋友在某一个工作中做了一段时间,发现自己越做越没兴趣,越做越不开心,想跳不敢跳,想辞不敢辞,最后影响了自己的本职工作,陷入两难的窘境。 其实&am…

【Qbot】3.加入内容审核功能

该项目计划长期进行维护更新,欢迎star:https://github.com/zstar1003/Qbot 前言 在ChatGPT上线Q群不久,不少人对其进行了测试,但随着时间的延续,测试话题逐渐走向失控,迫使我不得不紧急暂停。 对同胞素质的…

【Python百日进阶-数据分析】Day134 - plotly饼图:go.pie()实例

文章目录4.2 go.Pie() 的基本饼图4.2.1 基本饼图4.2.2 样式饼图4.2.3 使用 uniformtext 控制文本字体大小4.2.4 控制饼图中的文本方向4.2.5 甜甜圈图4.2.6 从中心拉出扇区4.2.7 子图中的饼图4.2.8 自定义颜色集的子图4.2.9 绘制面积与总计数成比例的图表4.2.10 旭日图4.2.11 Da…

电脑软件、微信多开

因为办公需要在电脑上登录 2 个微信,但是直接双击微信图标只有 1 个登录界面,无法是现实登录 2 个微信。那么怎么才能在 1 个电脑上打开 2 个微信,方法有四种:1、安装;2、Enter;3、连续点击;4、…

『 canvas 特效』一文教你绘制绚丽的星空背景 TS + ES6

介绍 很久没有写关于 canvas 效果的文章了,刚好最近又学到了一个新的特效,使用 canvas 绘制多层次动态星空背景,今天就分享给大家。首先我们依旧来看一下最终实现的效果,如图所示: 由于录制 GIF 造成失帧,…

实战三十三:STAMP算法实现商品推荐实战 代码+数据

1.案例知识点 推荐系统任务描述:通过用户的历史行为(比如浏览记录、购买记录等等)准确的预测出用户未来的行为;好的推荐系统不仅如此,而且能够拓展用户的视野,帮助他们发现可能感兴趣的却不容易发现的item;同时将埋没在长尾中的好商品推荐给可能感兴趣的用户。STAMP推荐…

记录Win7系统下的node版本升级过程及后续项目启动所遇问题

目录 Windows7系统如何“安装”高版本Node 后续项目运行启动时遇到的问题 Bug : 背景 : 银行内网开发,接到一个新的项目开发,但前提因为开发所使用的云桌面更换了,由原来的Windows10系统降到了现在的Windows7系统&am…

【自媒体必备】AI文字转语音,支持多种人声选择,在线生成一键导出【电脑永久版】

AI文字转语音,支持多种人声选择,在线生成一键导出 软件是电脑版安装版本,大家根据自己安软件的习惯进行安装即可,安装后打开软件即可,且完全免费。语音选择方面就有晓晓、云扬、云希等等常用选择。点击后面的播放按钮…

腾讯大佬告诉你,写Python到底用什么IDE合适

不管你是 Python 新手还是老鸟,肯定纠结过一个问题: 到底用什么编辑器写 Python 代码好? 为此,我们调查了数十位鹅厂程序猿们爱用的 Python IDE,从他们对每款编辑器的看法中,也许能给你一点启示&#xff1…