Spring Cloud面试题

一、微服务

1、什么是微服务?

  • 微服务是一种软件的开发架构和组织方法,(软件)由明确定义的API进行通信的小型独立的服务组成。更易于扩展和快速开发。

2、微服务的优点缺点?说下开发项目中遇到的坑?

3、你所知道的微服务技术栈?

4、什么是 Spring Cloud ?

  • Spring Cloud是一个微服务框架,提供了全套的分布式系统解决方案;

  • 对微服务基础框架Netflix的多个开源组件进行了封装,同时又实现了和Spring Boot开发框架的集成;

  • 为服务治理、配置管理、服务熔断、智能路由、全局一致性锁、集群状态管理等操作提供了一种简单的开发方式;

  • 提供了快速构建分布式系统的工具,可以快速的启动服务或构建应用。

5、使用 Spring Cloud 有什么优势?

  • 分布式开发、部署(分布式架构);
  • 代码耦合度低、模块专一性提升(服务间调用复杂,尽量降低耦合减少复杂性);
  • 系统稳定性提升(高可用)。

6、Spring Boot和Spring Cloud的区别?

  • Spring Boot是一种快速开发技术实现,约定大于配置;
  • Spring Cloud提供了全套的分布式系统解决方案,每个微服务方案都以Spring Boot为基础。

7、Spring Cloud 和Dubbo区别?

  • Dubbo是RPC(远程过程调用)框架,需要整合其它组件使用,如:Zookepeer、Redis;
  • Spring Cloud提供了全套的分布式系统解决方案,采用HTTP方式通信

二、服务调用:

8、微服务之间是如何独立通讯的?

  • 同步:HTTP、RPC
  • 异步:消息队列

9、说说 RPC 的实现原理

  1. 建立通信;
  2. 服务寻址;
  3. 网络传输(序列化、反序列化);
  4. 服务调用。

10、REST 和RPC对比

  • REST:HTTP协议传输,数据一般为JSON或XML格式,还包含了大量HTTP头信息,传输效率相对RPC较低。

    HTTP有跨平台特性;

  • RPC一般使用TCP协议序列为二进制传输,提供方与调用方接口需保持一致;

  • REST方式更灵活,RPC更高效。

11、负载均衡的意义什么?

  • 优化资源使用,避免单一资源过载。

12、什么是Ribbon负载均衡?

  • 基于Netflix Ribbon实现的客户端负载均衡工具;
  • 连接超时、重试;
  • 轮询、随机连接或自定义算法实现负载均衡。

13、Ribbon和Feign的区别?

  • 启动类注解不同,Ribbon是@RibbonClient,feign的是@EnableFeignClients;
  • 服务指定的位置不同,Ribbon是在@RibbonClient注解上声明,Feign则是在定义抽象方法的接口中使用@FeignClient声明;
  • 调用方式不同,Ribbon需要自己构建http请求,模拟http请求然后使用RestTemplate发送给其他服务,步骤相当繁琐。Feign需要将调用的方法定义成抽象方法即可。

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

三、服务注册:

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

  • zookeeper保证了CP,主节点挂掉后导致选主期间服务不可用;
  • eureka保证了AP,各个节点之间是平等的,挂一个节点其它节点还能提提供服务;

16、服务注册和发现是什么意思?Spring Cloud 如何实现?

17、Eureka和Zookeeper区别

18、eureka自我保护机制是什么?

19、作为服务注册中心,Eureka比Zookeeper好在哪里?

四、配置中心:

20、分布式配置中心能干嘛?

五、熔断降级

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

22、什么是 Hystrix 断路器?我们需要它吗?

23、Hystrix相关注解

24、什么是服务熔断?什么是服务降级?

25、springcloud断路器作用?

六、网关

26、Spring Cloud Gateway?

27、什么是 zuul路由网关

七、消息总线

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值