👏作者简介:大家好,我是爱写博客的嗯哼,爱好Java的小菜坤
🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦
📝社区论坛:希望大家能加入社区共同进步
🧑💼个人博客:智慧笔记
📕系列专栏:面试宝典
- 本文引自黑马程序员Java面试宝典
文章目录
-
-
- 面试官:Spring Cloud 5大组件有哪些?
- 面试官:服务注册和发现是什么意思?Spring Cloud 如何实现服务注册发现?
- 面试官:我看你之前也用过nacos、你能说下nacos与eureka的区别?
- 面试官:你们项目负载均衡如何实现的 ?
- 面试官:Ribbon负载均衡策略有哪些 ?
- 面试官:如果想自定义负载均衡策略如何实现 ?
- 面试官:什么是服务雪崩,怎么解决这个问题?
- 面试官:你们的微服务是怎么监控的?
- 面试官:你们项目中有没有做过限流 ? 怎么做的 ?
- 面试官:限流常见的算法有哪些呢?
- 面试官:什么是CAP理论?
- 面试官:为什么分布式系统中无法同时保证一致性和可用性?
- 面试官:什么是BASE理论?
- 面试官:你们采用哪种分布式事务解决方案?
- 面试官:分布式服务的接口幂等性如何设计?
- 面试官:xxl-job路由策略有哪些?
- 面试官:xxl-job任务执行失败怎么解决?
- 面试官:如果有大数据量的任务同时都需要执行,怎么解决?
-
面试官:Spring Cloud 5大组件有哪些?
候选人:
早期我们一般认为的Spring Cloud五大组件是
- Eureka : 注册中心
- Ribbon : 负载均衡
- Feign : 远程调用
- Hystrix : 服务熔断
- Zuul/Gateway : 网关
随着SpringCloudAlibba在国内兴起 , 我们项目中使用了一些阿里巴巴的组件
注册中心/配置中心 Nacos
负载均衡 Ribbon
服务调用 Feign
服务保护 sentinel
服务网关 Gateway
面试官:服务注册和发现是什么意思?Spring Cloud 如何实现服务注册发现?
候选人:
我理解的是主要三块大功能,分别是服务注册 、服务发现、服务状态监控
我们当时项目采用的eureka作为注册中心,这个也是spring cloud体系中的一个核心组件
服务注册:服务提供者需要把自己的信息注册到eureka,由eureka来保存这些信息,比如服务名称、ip、端口等等
服务发现:消费者向eureka拉取服务列表信息,如果服务提供者有集群,则消费者会利用负载均衡算法,选择一个发起调用
服务监控:服务提供者会每隔30秒向eureka发送心跳,报告健康状态,如果eureka服务90秒没接收到心跳,从eureka中剔除
面试官:我看你之前也用过nacos、你能说下nacos与eureka的区别?
候选人:
我们当时xx项目就是采用的nacos作为注册中心,选择nacos还要一个重要原因就是它支持配置中心,不过nacos作为注册中心,也比eureka要方便好用一些,主要相同不同点在于几点:
- 共同点
Nacos与eureka都支持服务注册和服务拉取,都支持服务提供者心跳方式做健康检测
- Nacos与Eureka的区别
①Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式