Java面试题之Spring Cloud篇

简介: 实际上针对Spring Cloud的面试题更加深入的是上面这些组件的原理,比如Ribbon中一般使用的是什么算法, Gateway里的自定义路由应该怎么做,Feign组件的底层是什么,它与Http有什么区别,这些都是值得我们去深入了解的。

一.题目介绍


1.题目来源


实际面试中遇到,形式的话有书面解答也有口述。一般侧重点为Spring Cloud生态的优势,说一说Spring Cloud中的组件Hystrix,Feign,Ribbon,Gateway


2.题目

1)Spring Cloud生态的优势

2)Spring Cloud组件 Hystrix

3)Spring Cloud组件 Feign

4)Spring Cloud组件 Ribbon

5)Spring Cloud组件 Gateway


二.具体解答


1.Spring Cloud生态的优势


先说一个问题,很多人总是拿Spring Cloud与Dubbo一起比较,其实这完全不是一类的。因为Dubbo是RPC(远程调用框架),主要针对分布式环境里服务与服务的接口调用,而且一般针对的是传输数据量小的,如果数据量大了就会报错,而Spring Cloud的整个生态是为微服务服务的,有诸多的组件如断路器Hystrix,负载均衡Ribbon,以及网关Gateway,它是一个集服务集成和服务治理的一个生态,而且很多组件都是开箱即用的,对于开发者很友好。


2.Spring Cloud组件 Hystrix


Hystrix是一个延迟和容错库,旨在隔离远程系统,服务和第三方库的访问点,当出现故障是不可避免的。当出现故障时,停止级联故障并在复杂的分布式系统中实现弹性。 通常对于使用微服务架构开发的系统,涉及到许多微服务。这些微服务彼此协作。也是为了前置的服务宕机不会影响后面的服务。


3.Spring Cloud组件 Feign


Feign是一个声明性的Web服务客户端。它使编写Web服务客户端变得更容易。Feign是一种模板化,声明式的http客户端,Feign可以通过注解绑定到接口上来简化Http请求访问。与当我们访问别的服务端口的时候 大部分使用httpclient等请求进行调用不同,在eureka注册的服务,我们可以使用Feign 声明接口的形式来进行相关服务的调用,并提供了失败回退(其实是Hystrix组件的使用)


4.Spring Cloud组件 Ribbon


Ribbon主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。一般Ribbon是结合Hystrix去配合使用的。


5.Spring Cloud组件 Gateway


Gateway其实就是一个微服务系统,接收所有的请求,根据URL进行路由,转发到相应的微服务系统进行处理,也是这个微服务体系里的大门,也起拦截非法请求的作用。


三.题后思考


实际上针对Spring Cloud的面试题更加深入的是上面这些组件的原理,比如Ribbon中一般使用的是什么算法, Gateway里的自定义路由应该怎么做,Feign组件的底层是什么,它与Http有什么区别,这些都是值得我们去深入了解的。

自由
+关注
目录
打赏
0
0
0
0
2
分享
相关文章
尼恩一键开发环境: vagrant+java+springcloud+redis+zookeeper镜像下载(&制作详解)
尼恩提供了一系列文章,旨在帮助开发者轻松搭建一键开发环境,涵盖Java分布式、高并发场景下的多种技术组件安装与配置。内容包括但不限于Windows和CentOS虚拟机的安装与排坑指南、MySQL、Kafka、Redis、Zookeeper等关键组件在Linux环境下的部署教程,并附带详细的视频指导。此外,还特别介绍了Vagrant这一虚拟环境部署工具,
尼恩一键开发环境: vagrant+java+springcloud+redis+zookeeper镜像下载(&制作详解)
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
145 2
SaaS云计算技术的智慧工地源码,基于Java+Spring Cloud框架开发
智慧工地源码基于微服务+Java+Spring Cloud +UniApp +MySql架构,利用传感器、监控摄像头、AI、大数据等技术,实现施工现场的实时监测、数据分析与智能决策。平台涵盖人员、车辆、视频监控、施工质量、设备、环境和能耗管理七大维度,提供可视化管理、智能化报警、移动智能办公及分布计算存储等功能,全面提升工地的安全性、效率和质量。
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
115 7
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
京东面试:聊聊Spring事务?Spring事务的10种失效场景?加入型传播和嵌套型传播有什么区别?
45岁老架构师尼恩分享了Spring事务的核心知识点,包括事务的两种管理方式(编程式和声明式)、@Transactional注解的五大属性(transactionManager、propagation、isolation、timeout、readOnly、rollbackFor)、事务的七种传播行为、事务隔离级别及其与数据库隔离级别的关系,以及Spring事务的10种失效场景。尼恩还强调了面试中如何给出高质量答案,推荐阅读《尼恩Java面试宝典PDF》以提升面试表现。更多技术资料可在公众号【技术自由圈】获取。
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
56 6
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
92 5
|
3月前
|
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
73 5

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等