首页 > 图灵资讯 > 技术篇>正文

10道常考spring cloud面试题(附答案)

2023-04-09 09:40:20

各位Java程序员都知道Spring Cloud是属于Java微服务中的技术微服务架构是目前最流行的框架之一就是spring cloud,所以也是在Java面试中最常见的面试部分今天给大家整理一下。spring cloud面试题附答案,希望对需要面试的朋友有所帮助。

Spring cloud框架是一站式开发分布式系统它利用spring boot服务发现注册、配置中心、消息总线、负载平衡、断路器、数据监控等分布式系统基础设施的开发便利性巧妙地简化spring 一键启动和部署boot的开发风格。

1、spring cloud断路器的作用是什么?

答:在分布式架构中,断路器模式的功能也相似。当服务单元出现故障(类似于电器短路)时,通过断路器故障监控(类似于熔断保险丝)将错误响应返回给调用器,而不是长时间等待。这样,由于调用故障服务,线程就不会被长期占用,也不会被释放,以避免故障在分布式系统中的传播。

2、spring cloud的核心组件有哪些?

答:(1)Eureka:发现服务注册;(2)Feign:拼接请求基于动态代理机制,根据注释和选择的机器 url 地址,发起请求;(3)Ribbon:实现负载均衡,从多台服务机器中选择一台;(4)Hystrix:提供线程池,不同的服务采用不同的线程池,实现不同服务调用的隔离,避免服务雪崩的问题;(5)Zuul:网关管理,由 Zuul 向相应服务转发网关请求。

3、spring 如何注册cloud服务?

答:第一,服务发布时,指定相应的服务名称,在注册中心注册服务(eureka zookeeper);二是增加注册中心@EnableEurekaServer,服务用@EnableDiscoveryClient,然后用ribbon或feign直接调用服务发现。

4、微服务优点是什么??

答:(1)每个服务都足够内聚,代码易于理解;(2)提高开发效率,一项服务只做一件事;(3)微服务可以由小团队单独开发;(4)微服务是松耦合的,是有功能意义的服务;(5)可以用不同的语言开发,面向接口编程;(6)易于与第三方集成;(7)微服务只是业务逻辑的代码,不会和HTML一起使用。CSS或其它界面组合;(8)可灵活搭配,连接公共库和独立库。

5、微服务的缺点是什么?

答:(1)分布式系统的责任;(2)多服务运维难度,随着服务的增加,运维压力也在增加;(3)系统部署依赖;(4)服务间通信成本;(5)数据一致性;(6)系统集成测试;(7)性能监控。

6、Spring是什么? Cloud Bus?

答:spring cloud bus用轻量级消息代理连接分布式节点,可用于更改广播配置文件或直接通信服务,也可用于监控。

7、springcloud断路器的作用是什么?

答:当一个服务调用另一个服务由于网络原因或自身原因出现问题时,调用者将等待被调用者的响应 当更多的服务要求这些资源导致更多的请求等待时,就会出现连锁效应(雪崩效应)。断路器完全打开:一段时间内 达到一定次数不能调用 并且多次监测无恢复迹象 断路器完全打开 那么下一个请求就不会要求服务了。半开:短时间内有恢复迹象,断路器会向服务发出部分请求,正常调用时断路器会关闭;关闭:服务处于正常状态时,可以正常调用。

8、什么是服务熔断?什么是服务降级?

答:在复杂的分布式系统中,微服务之间的相互呼叫可能会导致服务堵塞的各种原因。在高并发场景下,服务堵塞意味着线程堵塞,导致当前线程不可用,服务器线程全部堵塞,导致服务器崩溃。由于服务之间的呼叫关系是同步的,它将导致整个微服务系统的服务雪崩。为了解决微服务的调用响应时间过长或不可用,占用越来越多的系统资源,导致雪崩效应,需要进行服务熔断和服务降级。

所谓服务熔断,是指某个服务故障或异常在一起,类似于显示世界“保险丝”当异常情况被触发时,整个服务将被直接熔断,而不是等到服务加班。

服务熔断相当于我们电闸的保险丝,一旦发生服务雪崩,整个服务将被熔断。通过维护自己的线程池,当线程达到阈值时,将启动服务降级。如果其他请求继续访问,则直接返回fallback的默认值。

9、负载平衡的意义是什么?

答:在计算中,负载平衡可以改善跨计算机、计算机集群、网络链接、中央处理单元或磁盘驱动器等计算资源的工作负载分布。负载平衡旨在优化资源使用,最大吞吐量,最小响应时间,避免任何单一资源过载。使用多个组件来平衡负载,而不是通过冗余来提高可靠性和可用性。负载平衡通常涉及多层交换机或域名系统服务流程等特殊软件或硬件。

10、SpringBoot和SpringCloud有什么联系和区别?

答:SpringBoot是Spring推出的基于Maven的解决方案,用于解决传统框架配置文件的冗余和复杂的装配组件,旨在快速构建单个微服务;SpringCloud专注于解决各微服务、服务间通信、熔断、负载平衡等之间的协调配置问题。

不同的技术维度,而Spring Cloud依赖于Spring Boot,Spring Boot不依赖Spring Cloud,甚至可以和Dubbo优秀的综合开发。

上面的10个问题是今天为大家整理的Spring Cloud面试题,有更多需要学习的朋友可以学习SpringCloud微服务实践能全面掌握的课程Spring 微服务架构和Cloud开发的各个方面,可用于实际开发工作,提高自身的技术能力和价值。

上一篇 Java基本数据类型分类
下一篇 跳表的原理及其在JDK中的实现

文章素材均来源于网络,如有侵权,请联系管理员删除。