SpringCloud组件知识点

2023-04-24 13:45:26 浏览数 (1)

  1. 什么是Spring Cloud Config Server?它的作用是什么?

答:Spring Cloud Config Server是一种集中式配置管理服务,它可以管理应用程序的配置,包括定义配置文件,为服务提供环境配置等。它的作用是使应用程序的配置更加容易维护和管理。

  1. Ribbon和Feign的区别是什么?

答:Ribbon是一个客户端负载均衡器,主要实现了客户端的软负载均衡。而Feign则是一个基于Ribbon和Hystrix的声明式REST客户端,通过注解来定义和实现服务接口调用。

  1. 什么是Eureka Server?它的作用是什么?

答:Eureka Server是服务注册中心,它的主要作用是提供服务的注册和发现。服务提供者将其服务注册到Eureka Server,服务消费者通过Eureka Server查找并调用服务。

  1. Hystrix的作用是什么?

答:Hystrix是一种断路器模式的实现,主要用于处理分布式服务的容错和降级。它可以对不稳定的服务调用进行熔断,防止服务雪崩,还可以提供一些降级策略。

  1. 什么是Zuul?它的作用是什么?

答:Zuul是一种基于Netflix的API网关,支持动态路由、监控、弹性、安全等各种功能。它主要作用是实现网关服务,为客户端提供访问服务的路由和负载均衡。

  1. 什么是Spring Cloud Stream?它的作用是什么?

答:Spring Cloud Stream是一个应用程序框架,用于构建消息驱动的应用程序。它可以帮助开发者更容易实现消息发送和接收,并提供了一些可插拔的消息代理和消息处理器。

  1. 什么是Spring Cloud Task?它的作用是什么?

答:Spring Cloud Task是一个简单的框架,用于开发和执行有限的、短时间的批处理任务。它可以帮助开发者更快速、更容易地实现批量处理任务。

  1. 什么是Spring Cloud Data Flow?它的作用是什么?

答:Spring Cloud Data Flow是一个用于构建和管理基于流数据的应用程序的框架。它可以帮助开发者更容易地实现流数据的处理和管理。

  1. 什么是Spring Cloud Security?它的作用是什么?

答:Spring Cloud Security是一个用于构建和管理应用程序安全的框架。它可以帮助开发者更容易地实现应用程序的安全管控。

  1. 什么是Spring Cloud Sleuth?它的作用是什么?

答:Spring Cloud Sleuth是一个用于分布式系统中跟踪请求链路的框架。它可以帮助开发者更容易地跟踪请求在分布式系统中的调用过程,方便快速定位问题。

  1. 什么是Spring Cloud Bus?它的作用是什么?

答:Spring Cloud Bus是一个事件总线的实现,主要用于分布式应用程序中的事件传递和消息发布。它可以帮助开发者更便利地实现应用程序间的消息发布和订阅。

  1. 什么是Spring Cloud Gateway?它的作用是什么?

答:Spring Cloud Gateway是一个基于Spring Boot的API网关,它主要用于实现统一接口处理和服务路由。它可以帮助开发者快速搭建API网关,实现请求路由、限流、重试等功能。

  1. Eureka Server是怎么实现服务注册和发现的?

答:Eureka Server通过HTTP提供REST API供服务提供方注册服务,服务提供者通过HTTP将自己的服务实例信息注册到Eureka Server上面。消费者通过HTTP向服务注册中心查询可用服务列表,从而实现服务发现。

  1. Spring Cloud Config能实现动态刷新配置吗?如何实现?

答:是的,Spring Cloud Config可以实现动态刷新配置。它通过允许客户端轮询/推送服务器来获取配置文件中的更改来实现这一点。要启用配置服务的动态刷新,可以在客户端配置文件中添加spring.cloud.config.refresh-scope属性并重新启动服务。

  1. Hystrix的熔断器如何工作?

答:当某个服务的错误百分比超过一个特定的阈值时,Hystrix的熔断器会触发。一旦熔断器被打开,所有对于该服务的请求都会立即返回一个默认值,而不是等待该服务响应超时。经过一段时间后,熔断器会尝试自动将请求转发到服务以验证其是否恢复,恢复后则重新关闭熔断器。

  1. Spring Cloud Sleuth是如何实现跟踪请求链路的?

答:Spring Cloud Sleuth主要通过给请求添加唯一的Trace ID和Span ID来实现跟踪请求链路。当请求经过分布式系统中的不同组件时,每个组件都会将Trace ID和Span ID分别添加到请求头中,这样就能记录请求链路的全过程。

  1. Spring Cloud Stream有哪些注解?他们的作用分别是什么?

答:Spring Cloud Stream有很多注解,常用的有@StreamListener、@Input和@Output。@StreamListener 用于监听消息的消费;@Input和@Output用于定义输入和输出通道。

  1. Spring Cloud Sleuth和Zipkin的关系是什么?

答:Spring Cloud Sleuth和Zipkin都是实现分布式系统中跟踪请求链路的框架。Spring Cloud Sleuth主要负责生成和利用Trace ID和Span ID,而Zipkin则负责将数据进行汇总并展示。我们可以利用Zipkin来查看请求的调用链路,定位分布式系统中的问题。

  1. 什么是Spring Cloud Alibaba?它和Spring Cloud有哪些区别?

答:Spring Cloud Alibaba是由阿里巴巴推出的基于Spring Cloud的新一代微服务框架。相比于Spring Cloud,Spring Cloud Alibaba提供了更多的中间件支持,比如Dubbo、Nacos、Sentinel等中间件。此外,Spring Cloud Alibaba还提供了Spring Cloud没有的分布式事务和分布式锁解决方案。

  1. 什么是Sentinel?它的作用是什么?

答:Sentinel是一种轻量级的流量控制框架,它可以帮助开发者实现流量控制和降级。它支持多种流量控制模式,如QPS控制、线程数控制、时间窗口控制等,并提供丰富的监控指标和仪表盘。

0 人点赞