当前位置: 首页 > news >正文

springcloud常见面试题(2023最新)

目录

  • 前言
  • 一.微服务
    • 1.微服务是什么?
    • 2.你知道哪些RPC框架
    • 3.springCloud和Dubbo有什么区别
    • 4. SpringCloud由什么组成
  • 二.Spring Cloud Eureka
    • 1.Eureka包含几个组件
    • 2.Eureka的工作原理
    • 3.说一下什么是Eureka的自我保护机制
    • 4.什么是CAP原则
    • 5.都是服务注册中心,Eureka比Zookeeper好在哪里?
  • 三.Spring Cloud Ribbon
    • 1.Ribbon的作用
    • 2.Ribbon的原理
    • 3.Ribbon和nginx的区别
  • 四.Spring Cloud Feign
    • 1.Feign的作用
    • 2.SpringCloud有几种调用接口方式
    • 3.Ribbon和Feign调用服务的区别
  • 五.Spring Cloud Hystrix
    • 1.说一说什么是服务雪崩
    • 2.Hystrix断路器是什么
    • 3.什么是服务降级、服务熔断、服务隔离
  • 六.Spring Cloud Zuul
    • 1.什么是Zuul微服务网关
    • 2.Zuul的应用场景
  • 七.Spring Cloud Config
    • 1.什么是Spring Cloud Config

前言

java最新面试题(java基础、集合、多线程、jvm、锁、算法、CAS、Redis、数据库、mybatis、spring、springMVC、springBoot、微服务)

一.微服务

1.微服务是什么?

分布式,多个模块,每一个模块都是一个单独的系统。

2.你知道哪些RPC框架

RPC(Remote Procedure Call):远程过程调用。
Dubbo: 国内最早开源的 RPC 框架,由阿里巴巴公司开发并于 2011 年末对外开源。
Spring Cloud: 国外公司 2014 年对外开源的 RPC 框架。

3.springCloud和Dubbo有什么区别

①定位不同: springCloud微服务架构下的一站式解决方案;Dubbo主要用于服务的调用和治理。
②生态环境不同: springCloud依靠spring平台,更完善;Dubbo相对匮乏。
③调用方式不同: springCloud是采用Http协议做远程调用,接口一般是Rest风格,比较灵活;Dubbo是采用Dubbo协议,接口一般是Java的Service接口,格式固定。
**简单来说:**s pringCloud是品牌机,Dubbo是组装机。

4. SpringCloud由什么组成

Spring Cloud Eureka: 服务注册与发现。
Spring Cloud Feign: 服务接口调用。
Spring Cloud Ribbon: 客户端负载均衡。
Spring Cloud Hystrix: 断路器。
Spring Cloud Zuul: 服务网关。
Spring Cloud Config: 分布式统一配置管理。
等等。

二.Spring Cloud Eureka

1.Eureka包含几个组件

Eurake Client(客户端): 负责将这个服务的信息注册到Eureka Server中。
Eureka Server(服务端): 注册中心,里面有一个注册表,保存了各个服务所在的机器和端口号。

2.Eureka的工作原理

原理: 系统中的其他服务使用Eureka的客户端将其连接到Eureka服务端中,并且保持心跳,这样工作人员可以通过Eureka服务端来监控各个微服务是否运行正常。

3.说一下什么是Eureka的自我保护机制

如果Eureka服务端在一定时间内没有接收到某个微服务的心跳(默认90s),Eureka服务端会进入自我保护模式,在该模式下Eureka服务端会保护服务注册表中的信息,不在删除注册表中的数据,当网络故障恢复后,Eureka服务端节点会自动退出自我保护模式。

4.什么是CAP原则

CAP原则: 又称CAP定理,指的是在一个分布式系统中,强一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
强一致性(Consistency): 访问所有的节点,得到的数据结果都是一样的。
可用性(Availability): 保证每个请求不管成功或者失败都有响应。
分区容错性(Partiton tolerance): 系统中任意信息的丢失或失败不会影响系统的继续运作。

5.都是服务注册中心,Eureka比Zookeeper好在哪里?

在分布式系统中分区容错性是必须要保证的,因此只能保证A或C,只能AP和CP。
Zookeeper: 保证的是CP,可以容忍注册中心返回几分钟之前的注册信息,但是不能接受服务直接down掉不可用,当主机的节点发生网络故障了,会选取新的主节点,响应时间过长。
Eureka: 保证的是AP,Eureka的节点都是平等的,不存在主机从机,因此Eureka可以很好的应对因网络故障导致部分节点失去联系的情况,而不会像Zookeeper那样是整个注册中心瘫痪。

三.Spring Cloud Ribbon

1.Ribbon的作用

主要功能是提供客户端的软件负载均衡算法,默认是轮询算法。

2.Ribbon的原理

Ribbon会从注册中心获取到服务的信息,然后通过轮询算法,从中选择一台机器。

3.Ribbon和nginx的区别

nginx: 反向代理实现负载均衡,相当于从nginx服务器进行请求转发。
Ribbon: 客户端负载均衡,全程都是客户端操作。

四.Spring Cloud Feign

1.Feign的作用

Feign集成了Ribbon,Feign 是一个声明web服务客户端,这使得编写web服务客户端更容易,远程调用更加简单。

2.SpringCloud有几种调用接口方式

Feign
RestTemplate

3.Ribbon和Feign调用服务的区别

Ribbon: 需要我们自己构建http请求,然后通过RestTemplate去发给其他服务,比较繁琐。
Feign: 不需要自己构建Http请求,直接接口调用就行。

五.Spring Cloud Hystrix

1.说一说什么是服务雪崩

服务雪崩:多个服务相互调用时,A调B,B调C,C调D等等更多调用,那么如果中间调用需要很长时间,然后再去调用A,那么占用的资源就越来越多,导致系统崩溃。

2.Hystrix断路器是什么

防止服务雪崩的一个工具,具有服务降级、服务熔断(@HystrixCommand(fallbackMethod = “hystrixById”) //失败了调用的方法)、服务隔离、监控等防止雪崩的技术。

3.什么是服务降级、服务熔断、服务隔离

服务降级: 资源不够时,关闭一下资源,保证核心服务的运行。
服务熔断: 当服务出现故障时,会直接走熔断的方法。
服务隔离: 为隔离的服务开启一个独立的线程,这样在高并发情况下,也不会影响该服务。一般使用线程池实现(还有信号量方式实现)。

六.Spring Cloud Zuul

1.什么是Zuul微服务网关

接收所有的请求,并且将不同的请求转发至不同的微服务模块。

2.Zuul的应用场景

①过滤器
②权限认证
③降级限流
④安全

七.Spring Cloud Config

1.什么是Spring Cloud Config

集中管理配置文件,不需要每个服务编写配置文件,服务会向配置中心拉取配置。
实时刷新(需要spring cloud bus)。

http://www.lryc.cn/news/25481.html

相关文章:

  • 用户态驱动的两种方式-ixy学习
  • 机器学习 | 线性回归(单变量)
  • C++基础知识【3】控制语句
  • ImportError: Can not find the shared library: libhdfs3.so解决方案
  • Qt插件开发总结5--主界面嵌入插件UI
  • 一些关于linux process 和python process的记录
  • 卡尔曼滤波——一种基于滤波的时序状态估计方法
  • 什么是X6CrMo17-1
  • 软件测试是个人就能做?恕我直言,你可能是个“纯粹”的测试工具人,BUG收集器
  • 递归算法(recursion algorithm)
  • VScode下 ESP32 下载程序
  • 黑苹果日历
  • python+pytest接口自动化框架(5)-requests发送post请求
  • Linux 进程:进程控制
  • 过滤器的创建和执行顺序
  • JDK1.8 ConcurrentHashMap
  • 参考 Promise/A+ 规范和测试用例手写 Promise
  • yolov5数据集制作
  • 主板EC程序烧写异常致无法点亮修复经验
  • 【Java爬取赛事网站】命令行输出(仅供学习)
  • redis主从复制原理
  • buu刷题(第一周)
  • 算法训练营 day62 单调栈 每日温度 下一个更大元素 I
  • ChIP-seq 分析:Peak 注释与可视化(9)
  • ABB机器人配置DeviceNet总线IO板以及信号分配的具体方法示例
  • 2023 年网络安全漏洞的主要原因
  • 剑指 Offer 34. 二叉树中和为某一值的路径
  • 2023前端vue面试题(边面边更)
  • webpack配置完全指南
  • juju创建lxd容器时如何使用本地镜像(by quqi99)