当前位置: 首页 > 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.dtcms.com/a/359927.html

相关文章:

  • 飞牛Docker部署免费frp内网穿透
  • RK3568平台开发系列讲解:瑞芯微平台4G模块篇移植
  • TFS-2005《A Possibilistic Fuzzy c-Means Clustering Algorithm》
  • 商业航天:中、美、欧“软件定义卫星” 路线全解析
  • Iterative loop of ML development|机器学习的迭代发展
  • JavaEE初阶网络原理-初识
  • PythonDay42
  • 提取动漫图像轮廓并拟合为样条曲线(MATLAB)
  • Mysql学习 Day3 Explain详解与索引优化
  • APB验证VIP Agent的各个组件之间的通信
  • SpringAI应用开发面试实录:核心技术、架构设计与业务场景全解析
  • React前端开发_Day12_极客园移动端项目
  • 解决 uni-app 中大数据列表的静默UI渲染失败问题
  • UniApp 基础开发第一步:HBuilderX 安装与环境配置
  • Wi-Fi技术——物理层技术
  • 【C++】构造函数初始化详解
  • 漫谈《数字图像处理》之基函数与基图像
  • 分布式测试平台ITP:让自动化测试更高效、更稳定
  • IS-IS 与 OSPF 协议机制比较
  • 软考 系统架构设计师系列知识点之杂项集萃(138)
  • 【Proteus仿真】开关控制系列仿真——开关控制LED/拨码开关二进制计数/开关和继电器控制灯灭
  • Java试题-选择题(26)
  • zkML-JOLT——更快的ZK隐私机器学习:Sumcheck +Lookup
  • 【iOS】MVC架构
  • OpenCL C 内核(Kernel)
  • 在实践中学Java(中)面向对象
  • Elasticsearch vs Solr vs OpenSearch:搜索引擎方案对比与索引设计最佳实践
  • [光学原理与应用-353]:ZEMAX - 设置 - 可视化工具:2D视图、3D视图、实体模型三者的区别,以及如何设置光线的数量
  • 设计模式概述:为什么、是什么与如何应用
  • Ethers.js vs Wagmi 的差异