SpringCloud面试题

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。SpringCloud面试题,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一、什么是SpringCloud?

SpringCloud是一系列框架的集合。它利用了SpringBoot的便携性对分布式的基础组件进行开发,
例如注册中心(Eureka),配置中心(Config),消息总线(Bus),负载均衡(Ribbon),
智能路由/网关(Zuul),熔断器(Hystrix),数据监控(Hystrix Dashboard)等,
都可以使用SpringBoot风格进行开发配置并一键启动和部署。

 

二、优缺点

1、优点:

  • 出身Spring家族,背景强大
  • 组件丰富,功能齐全
  • 微服务是跨平台的,适用于任何语言
  • 服务拆分较细,耦合度低

2、缺点

  • 微服务过多,治理成本高
  • 分布式系统开发成本高
  • 学习成本高

 

三、整体架构

SpringCloud面试题

 

 

四、SpringBoot和SpringCloud的关系

SpringBoot专注于单个微服务开发,SpringCloud则是对微服务系统整体进行
管理和协调。

SpringBoot可以离开SpringCloud单独开发,而SpringCloud则
依赖于SpringBoot。

 

 

五、使用SpringBoot开发微服务面临的问题

1、分布式系统的复杂性—包括带宽问题、安全问题、延迟问题等

2、服务发现问题—如何注册服务,如何查找并连接已注册服务的问题

3、冗余—分布式系统中的冗余问题

4、负载均衡—如何分配各种资源的合理使用问题

5、性能—如何在各种服务运营时保证性能
6、部署的复杂性问题

 

 

六、服务注册和发现是什么?SpingCloud如何实现?

在一个SpringCloud项目中会有多个微服务,每个微服务之间通过API相互调用
,当其中有微服务API发生改变时调用方也需要作出改变,因此需要一个服务用
来保存各个微服务的API信息,当其他服务需要调用时从该服务中查找所需服务
API即可。

在SpringCloud中是通过Eureka实现服务注册与发现。

 

七、SpringCloud和Dubbo的区别

  • Dubbo服务调用方式是RPC,SpringCloud的调用方式是Restful风格的API
  • 注册中心:Dubbo是Zookeeper,SpringCloud是Eureka,也可以是Zookeeper
  • Dubbo很多服务自己没有实现,通过整合第三方实现功能,SpringCloud有完善的服务体系

 

八、负载均衡的意义是什么?

负载平衡旨在优化资源使用,最大化吞吐量,最小化响应时间,避免单一资源过载。

 

九、什么是Hystrix?它是如何实现容错的?

Hystrix是一个延迟和容错库,当出现故障不可避免时,停止级联故障在复杂的
分布式系统中实现弹性。

容错实现方式:在服务提供方使用Hystrix并定义Fallback方法,当正常服务出
现异常时则会执行Fallback方法。Fallback方法应和公开的服务方法返回相同
数据类型。

 

 

十、什么是SpringCloud Bus?

Bus通常和Config一起使用,当配置文件修改时,用到该配置文件的服务需要
重新刷新获取最新配置信息,如果服务太多则太多繁琐。因此可已通过Bus将各
个服务之间连接起来,可以用于广播配置文件的更改和服务的监控和管理。

 

十一、什么是SpringCloud Feign?

Feign是Spring Cloud组件中一个轻量级RESTful的HTTP服务客户端,Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。

 

十二、SpringCloud熔断器作用?

当一个服务调用另一个服务时,由于网络或自身原因,调用者就会等待被调用者
响应消息,当更多的服务请求该资源时就会产生更多的请求等待,从而造成雪崩
效应。

熔断器完全打开状态:一段时间内,请求达到一定数量就无法调用,而且多次监测没有恢复迹象,熔断器就会完全打开
熔断器半开状态:短时间内有恢复迹象,熔断器会将部分请求发送给该服务,正常调用时熔断器关闭
熔断器关闭状态:当服务一直处于正常状态,就可以正常调用

 

十三、什么是SpringCloud Config?

由于分布式系统中配,由于服务数量多,为了方便服务的配置文件统一管理,实时更新,所以需要分布式配置中心服务。
配置文件可以放在本地,也可以放在git仓库。

 

 

十四、什么是SpringCloud Gateway?

Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,取代
Zuul网关。网关在微服务系统中有着非常重要作用,网关常见的功能
有路由转发、权限校验、限流控制等作用。


使用了一个RouteLocatorBuilder的bean去创建路由,除了创建路由
RouteLocatorBuilder可以让你添加各种predicates和filters,predicates断
言的意思,顾名思义就是根据具体的请求的规则,由具体的route去处理,
filters是各种过滤器,用来对请求做各种判断和修改。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/187673.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!