• SpringCloud面试题


    一、什么是SpringCloud?

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

    二、优缺点

    1、优点:

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

    2、缺点

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

    三、整体架构

    四、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是各种过滤器,用来对请求做各种判断和修改。
  • 相关阅读:
    requests
    Unit5 Going places
    Unit1 A time to remember
    SQL:找到一个关于all some any的用法,可在SSMS里看效果
    SQL join小结
    mac 配置tomcat
    oc与java c++语法区别
    swift调用oc项目
    java网络编程之socket
    windows远程控制mac
  • 原文地址:https://www.cnblogs.com/sun-10387834/p/15330669.html
Copyright © 2020-2023  润新知