当前位置: 首页 > news >正文

Java面试-微服务(spring cloud篇)

一、内容介绍:

  • 课程包含内容:分为 Spring Cloud、业务相关内容、消息中间件三部分,消息中间件因内容多会专门开篇章讲解,当前的主流技术栈可能与文章不符,注意针对性学习。

二、Spring Cloud 五大组件面试题:

  • 问题意义:考察对 Spring Cloud 的基本认识,简单但重要,答不出可能影响后续面试。
  • 常见组件:注册中心 Eureka、负载均衡 Ribbon、远程调用 Feign、服务熔断 Hystrix、网关 Gateway;阿里巴巴体系注册中心和配置中心 Nacos、负载均衡 Ribbon、服务调用 Feign、服务保护 Sentinel、网关 Gateway。

三、服务注册和发现面试题:

  • 问题原因:注册中心是微服务必不可少组件,考察使用微服务程度。
  • Eureka工作流程:服务提供者启动时将信息注册到注册中心,服务消费者从注册中心拉取信息并做负载均衡后进行远程调用,服务提供者定期发心跳,注册中心进行健康监控。
  • 回答要点:说明项目采用的注册中心,解释服务注册和发现的含义及服务监控机制,文档有参考回答。

四、Nacos 与 Eureka 区别面试题:

  • 相同点:都支持服务注册和拉取,支持服务提供者以心跳方式做健康检测。
  • 不同点:Nacos 支持服务端主动监测提供者状态,临时实例用心跳模式,非临时实例用主动探测模式;Nacos 支持服务列表变更推送,更新更及时;Nacos 集群默认 AP 模式,有非临时实例时为 CP 模式, Eureka 只支持 AP 模式;Nacos 还支持配置中心。

五、负载均衡面试题:

  • 实现方式:Spring Cloud 体系中用 Ribbon 实现负载均衡,如 Feign 底层使用 Ribbon。
  • 负载均衡策略:常见的有轮询、按权重选择、随机、最小连接数、重试机制、可用性敏感、区域敏感七种策略。
  • 自定义策略实现:可创建类实现 IRule 接口,通过配置类或配置文件配置,有全局和局部两种方式。
  • 回答要点:说明项目负载均衡实现方式,列举几种 Ribbon 负载均衡策略,阐述自定义策略的实现方式。

六、服务雪崩解决面试题:

  • 服务雪崩定义:一个服务失败可能导致整个链路服务失败的情形。
  • 解决方法:使用熔断降级,用 Spring Cloud 中 Hystrix 组件实现;限流可预防但不能解决。
  • 服务降级:服务接口失败时加入降级逻辑,通过 Feign 接口设置 fallback 定义。
  • 服务熔断:Hystrix 组件提供,默认关闭,开启需加注解,有关闭、打开、半开三种状态,根据请求失败率和重试情况切换状态。
  • 回答建议:说明服务雪崩定义、解决方法及降级和熔断的区别,文档有参考回答。

七、微服务监控面试题:

  • 监控原因:解决问题定位、性能分析、服务关系维护、服务告警等问题。
  • 监控工具:常见的有 Spring Boot Admin、Prometheus + Grafana、Zipkin、Skywalking,Skywalking 相对优秀。
  • Skywalking 功能:是分布式系统应用程序性能监测工具,有服务、端点、实例概念,其仪表盘可展示微服务状态,追踪可定位问题,拓扑图可展示服务关系,告警可设置规则并通知负责人。
  • 回答要点:说明采用的监控工具,介绍其功能,文档有参考回答。
http://www.xdnf.cn/news/1410949.html

相关文章:

  • 网络:相比于HTTP,HTTPS协议到底安全在哪?
  • 【HarmonyOS】天气预报 UI 的基本实现
  • 基于Echarts+HTML5可视化数据大屏展示-惠民服务平台
  • 一文理清TCP协议的通讯流程
  • 【车载开发系列】CAN与CANFD下篇
  • Linux-驱动积累
  • docker安装tomcat
  • 1.2 操作系统发展历程
  • dify docker compose操作命令指南
  • 【不懂就问】-手机相关学习
  • 内核等待队列以及用户态的类似机制
  • 基于Spring Cloud Sleuth与Zipkin的分布式链路追踪实战指南
  • 机器学习基础-day01-机器学习介绍
  • syn与quote的简单使用——实现debug
  • 萌宝喂养日志-我用AI做喂养记录小程序1-原型设计
  • 中科大少年班记
  • 编程与数学 03-004 数据库系统概论 10_数据库的实施
  • 【GaussDB】排查应用高可用切换出现数据库整体卡顿及报错自治事务无法创建的问题
  • 基于JavaScript的智能合约平台(Agoric)
  • join怎么用
  • Spring Boot单体项目整合Nacos
  • STAR法则
  • C/C++ 高阶数据结构 —— 二叉搜索树(二叉排序树)
  • 【Linux】系统部分——ELF文件格式与动态库加载
  • 【系统分析师】高分论文:论大数据架构的应用
  • Linux系统比较两个​​已排序文件​​的实用工具之comm
  • 混合润滑表面接触刚度和接触阻尼模型
  • 计算机视觉与深度学习 | 低照度图像处理算法综述:发展、技术与趋势
  • ESP32_实验12_基于光敏传感器的停车场车辆计数系统
  • LeetCode 1855.下标对中的最大距离