【Java面试】说一说你对Spring Cloud的理解

Hi,大家好,我是Mic 一个工作了7年的Java粉丝,竟然连这个问题都回答不出来。 难怪被裁员之后,每次面试都被技术问题卡脖子,导致一直找不到工作。 今天他遇到这样一个问题,希望我能给出一个回答建议。 “请你说一下你对Spring Cloud的理解”。 下面看看普通人和高手对这个问题的回答。

需要高手面试文档(附赠大厂内部十万字面试文档)或者有不懂的技术面试题想咨询的小伙伴可以扫描下方二维码

普通人:

我认为Spring Cloud它是解决微服务的一个方案吧。

就是它里面有很多的这种技术组件比如说像Eureka或者像Ribbon这些组件就是可以去帮我们在微服务架构里面去解决像服务注册或者这种负载均衡这样一些问题。

高手:

好的。

Spring Cloud是Spring官方推出来的一套微服务解决方案。

准确来说,我认为Spring Cloud其实是对微服务架构里面出现各种技术场景,定义了一套标准规范。

然后在这套标准里面,Spring集成了Netflix公司的OSS开源套件,比如

Zuul 实现应用网关、Eureka 实现服务注册与发现、Ribbon实现负载均衡、Hystrix实现服务熔断

我们可以使用Spring Cloud Netflix这套组件,快速落地微服务架构以及解决微服务治理等一系列问题。

但是随着Netflix OSS相关技术组件的闭源和停止维护,所以Spring官方也自研了一些组件,

比如Gateway实现网关、 LoadBalancer实现负载均衡。

另外,Alibaba里面的开源组件也实现了Spring Cloud的标准,成为了Spring Cloud 里面的另外一套微服务解决方案。

包括Dubbo做rpc通信、Nacos实现服务注册与发现以及动态配置中心、Sentinel实现服务限流和服务降级等等。

以上就是我对Spring Cloud的理解,另外,我再补充一下,我认为Spring Cloud生态的出现有两个很重要的意义。

  1. 在Spring Cloud出现之前,为了解决微服务架构里面的各种技术问题,需要去集成各种开源框架,因为标准和兼容性问题,所以在实践的时候很麻烦,而Spring Cloud统一了这样一个标准。
  2. 降低了微服务架构的开发难度,只需要在Spring Boot的项目基础上通过starter启动依赖集成相关组件就能轻松解决各种问题。

以上就是我对这个问题的理解。

总结

Spring Cloud已经是普及度和应用非常高。

大家往往知道Spring Cloud怎么用,但是为什么用,以及什么场景下用。

却不一定能明白,而这道题目其实就是考察工作4年以上的求职责对技术的了解程度。

需要高手面试文档(附赠大厂内部十万字面试文档)或者有不懂的技术面试题想咨询的小伙伴可以扫描下方二维码

↓↓↓↓↓↓↓↓↓↓↓↓↓↓

经验分享 程序员 微信小程序 职场和发展