SpringCloud最新2021年面试题及答案,汇总版

1、Spring Cloud和各子项目版本对应关系

1、 Edgware.SR6:我理解为最低版本号

2、 Greenwich.SR2 :我理解为最高版本号

3、 Greenwich.BUILD-SNAPSHOT(快照):是一种特殊的版本,指定了某个当前的开发进度的副本。不同于常规的版本,几乎每天都要提交更新的版本,如果每次提交都申明一个版本号那不是版本号都不够用?

ComponentEdgware.SR6Greenwich.SR2Greenwich.BUILD-SNAPSHOT
spring-cloud-aws1.2.4.RELEASE2.1.2.RELEASE2.1.3.BUILD-SNAPSHOT
spring-cloud-bus1.3.4.RELEASE2.1.2.RELEASE2.1.3.BUILD-SNAPSHOT
spring-cloud-cli1.4.1.RELEASE2.0.0.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-commons1.3.6.RELEASE2.1.2.RELEASE2.1.3.BUILD-SNAPSHOT
spring-cloud-contract1.2.7.RELEASE2.1.2.RELEASE2.1.3.BUILD-SNAPSHOT
spring-cloud-config1.4.7.RELEASE2.1.3.RELEASE2.1.4.BUILD-SNAPSHOT
spring-cloud-netflix1.4.7.RELEASE2.1.2.RELEASE2.1.3.BUILD-SNAPSHOT
spring-cloud-security1.2.4.RELEASE2.1.3.RELEASE2.1.4.BUILD-SNAPSHOT
spring-cloud-cloudfoundry1.1.3.RELEASE2.1.2.RELEASE2.1.3.BUILD-SNAPSHOT
spring-cloud-consul1.3.6.RELEASE2.1.2.RELEASE2.1.3.BUILD-SNAPSHOT
spring-cloud-sleuth1.3.6.RELEASE2.1.1.RELEASE2.1.2.BUILD-SNAPSHOT
spring-cloud-streamDitmars.SR5Fishtown.SR3Fishtown.BUILD-SNAPSHOT
spring-cloud-zookeeper1.2.3.RELEASE2.1.2.RELEASE2.1.3.BUILD-SNAPSHOT
spring-boot1.5.21.RELEASE2.1.5.RELEASE2.1.8.BUILD-SNAPSHOT
spring-cloud-task1.2.4.RELEASE2.1.2.RELEASE2.1.3.BUILD-SNAPSHOT
spring-cloud-vault1.1.3.RELEASE2.1.2.RELEASE2.1.3.BUILD-SNAPSHOT
spring-cloud-gateway1.0.3.RELEASE2.1.2.RELEASE2.1.3.BUILD-SNAPSHOT
spring-cloud-openfeign2.1.2.RELEASE2.1.3.BUILD-SNAPSHOT
spring-cloud-function1.0.2.RELEASE2.0.2.RELEASE2.0.3.BUILD-SNAPSHOT

                                                加端端老师免费领取更多编程资料

2、什么是客户证书?

客户端系统用于向远程服务器发出经过身份验证的请求的一种数字证书称为客户端证书。客户端证书在许多相互认证设计中起着非常重要的作用,为请求者的身份提供了强有力的保证。

3、Spring Cloud OpenFeign

基于Ribbon和Hystrix的声明式服务调用组件,可以动态创建基于Spring MVC注解的接口实现用于服务调用,在Spring Cloud 2.0中已经取代Feign成为了一等公民。

Spring Cloud的版本关系

Spring Cloud是一个由许多子项目组成的综合项目,各子项目有不同的发布节奏。为了管理Spring Cloud与各子项目的版本依赖关系,发布了一个清单,其中包括了某个Spring Cloud版本对应的子项目版本。

为了避免Spring Cloud版本号与子项目版本号混淆,Spring Cloud版本采用了名称而非版本号的命名,这些版本的名字采用了伦敦地铁站的名字,根据字母表的顺序来对应版本时间顺序,例如Angel是第一个版本,Brixton是第二个版本。

当Spring Cloud的发布内容积累到临界点或者一个重大BUG被解决后,会发布一个"service releases"版本,简称SRX版本,比如Greenwich.SR2就是Spring Cloud发布的Greenwich版本的第2个SRX版本。目前Spring Cloud的最新版本是Hoxton。

4、在使用微服务架构时,您面临哪些挑战?

开发一些较小的微服务听起来很容易,但开发它们时经常遇到的挑战如下。

自动化组件:难以自动化,因为有许多较小的组件。因此,对于每个组件,我们必须遵循Build,Deploy和Monitor的各个阶段。

易感性:将大量组件维护在一起变得难以部署,维护,监控和识别问题。它需要在所有组件周围具有很好的感知能力。

配置管理:有时在各种环境中维护组件的配置变得困难。

调试:很难找到错误的每一项服务。维护集中式日志记录和仪表板以调试问题至关重要。

5、springcloud核⼼组件及其作⽤,以及springcloud⼯作原理:

springcloud由以下⼏个核⼼组件构成:

1、 Eureka:各个服务启动时,Eureka Client都会将服务注册到Eureka Server,并且Eureka Client还可以反过来从Eureka Server拉取注册表,从⽽知道其他服务在哪⾥

2、 Ribbon:服务间发起请求的时候,基于Ribbon做负载均衡,从⼀个服务的多台机器中选择⼀台

3、 Feign:基于Feign的动态代理机制,根据注解和选择的机器,拼接请求URL地址,发起请求

4、 Hystrix:发起请求是通过Hystrix的线程池来⾛的,不同的服务⾛不同的线程池,实现了不同服务调⽤的隔离,避免了服务雪崩的问题

5、 Zuul:如果前端、移动端要调⽤后端系统,统⼀从Zuul⽹关进⼊,由Zuul⽹关转发请求给对应的服务

                                                加端端老师免费领取更多编程资料

6、接⼝限流⽅法?

限制 总并发数(⽐如 数据库连接池、线程池)

1、 限制 瞬时并发数(如 nginx 的 limit_conn 模块,⽤来限制 瞬时并发连接数)

2、 限制 时间窗⼝内的平均速率(如 Guava 的 RateLimiter、nginx 的 limit_req模块,限制每秒的平均速率)

3、 限制 远程接⼝ 调⽤速率

4、 限制 MQ 的消费速率

5、 可以根据⽹络连接数、⽹络流量、CPU或内存负载等来限流

7、Spring Cloud Task

Spring Cloud Task的目标是为SpringBoot应用程序提供创建短运行期微服务的功能。在Spring Cloud Task中,我们可以灵活地动态运行任何任务,按需分配资源并在任务完成后检索结果。Tasks是Spring Cloud Data Flow中的一个基础项目,允许用户将几乎任何SpringBoot应用程序作为一个短期任务执行。

8、什么是Oauth?

开放授权协议,这允许通过在HTTP服务上启用客户端应用程序(例如第三方提供商Facebook,GitHub等)来访问资源所有者的资源。因此,您可以在不使用其凭据的情况下与另一个站点共享存储在一个站点上的资源。

OAuth允许像Facebook这样的第三方使用最终用户的帐户信息,同时保证其安全(不使用或暴露用户的密码)。它更像是代表用户的中介,同时为服务器提供访问所需信息的令牌。

9、为什么在微服务中需要Reports报告和Dashboards仪表板?

报告和仪表板主要用于监视和维护微服务。有多种工具可以帮助实现此目的。报告 和仪表板可用于: 找出哪些微服务公开了哪些资源。 找出组件发生变化时受影响的服务。 提供一个简单的点,只要需要文档,就可以访问它。 部署的组件的版本。

10、什么是微服务架构中的DRY?

DRY代表不要重复自己。它基本上促进了重用代码的概念。这导致开发和共享库,这反过来导致紧密耦合。

11、服务雪崩?

12、什么是Idempotence以及它在哪里使用?

13、什么是服务熔断

14、SpringBoot和SpringCloud的区别?

15、谈一下领域驱动设计

16、什么是Feign?

17、什么是Spring Cloud Bus?我们需要它吗?

18、什么是凝聚力?

19、eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?

20、Spring Cloud Bus

21、什么是Spring Cloud Gateway?

22、SpringCloud有几种调用接口方式

23、为什么要使用 Spring Cloud 熔断器?

24、Spring Cloud Config

25、什么是微服务中的反应性扩展?

26、列举微服务技术栈

27、什么是Netflix Feign?它的优点是什么?

28、您对Distributed Transaction有何了解?

29、微服务架构的优缺点是什么?

30、访问RESTful微服务的方法是什么?

                                                加端端老师免费领取更多编程资料

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值