【2022最新Java面试宝典】—— SpringCloud面试题(49道含答案)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
Spring Cloud
1. 什么是微服务架构
- 微服务架构就是将单体的应用程序分成多个应用程序这多个应用程序就成为微服务每个微服务 运行在自己的进程中并使用轻量级的机制通信。这些服务围绕业务能力来划分并通过自动化部 署机制来独立部署。这些服务可以使用不同的编程语言不同数据库以保证最低限度的集中式管 理。
2. 为什么需要学习Spring Cloud
- 首先springcloud基于spingboot的优雅简洁可还记得我们被无数xml支配的恐惧可还记得
springmvcmybatis错综复杂的配置有了spingboot这些东西都不需要了spingboot好处不
再赘诉springcloud就基于SpringBoot把市场上优秀的服务框架组合起来通过Spring Boot风
格进行再封装屏蔽掉了复杂的配置和实现原理 - 什么叫做开箱即用即使是当年的黄金搭档dubbo+zookeeper下载配置起来也是颇费心神的而
springcloud完成这些只需要一个jar的依赖就可以了 - springcloud大多数子模块都是直击痛点像zuul解决的跨域fegin解决的负载均衡hystrix的熔
断机制等等等等
3. Spring Cloud 是什么
- Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系
统基础设施的开发如服务发现注册、配置中心、智能路由、消息总线、负载均衡、断路器、数据
监控等都可以用Spring Boot的开发风格做到一键启动和部署。 - Spring Cloud并没有重复制造轮子它只是将各家公司开发的比较成熟、经得起实际考验的服务框
架组合起来通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理最终给开发者留
出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
4. SpringCloud的优缺点
优点
1.耦合度比较低。不会影响其他模块的开发。
2.减轻团队的成本可以并行开发不用关注其他人怎么开发先关注自己的开发。
3.配置比较简单基本用注解就能实现不用使用过多的配置文件。
4.微服务跨平台的可以用任何一种语言开发。
5.每个微服务可以有自己的独立的数据库也有用公共的数据库。
6.直接写后端的代码不用关注前端怎么开发直接写自己的后端代码即可然后暴露接口通过组件进行 服务通信。
缺点
1.部署比较麻烦给运维工程师带来一定的麻烦。
2.针对数据的管理比麻烦因为微服务可以每个微服务使用一个数据库。
3.系统集成测试比较麻烦
4.性能的监控比较麻烦。【最好开发一个大屏监控系统】
- 总的来说优点大过于缺点目前看来Spring Cloud是一套非常完善的分布式框架目前很多企业开
始用微服务、Spring Cloud的优势是显而易见的。因此对于想研究微服务架构的同学来说学习
Spring Cloud是一个不错的选择。
5. SpringBoot和SpringCloud的区别
- SpringBoot专注于快速方便的开发单个个体微服务。
- SpringCloud是关注全局的微服务协调整理治理框架它将SpringBoot开发的一个个单体微服务整
合并管理起来 - 为各个微服务之间提供配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策
竞选、分布式会话等等集成服务 - SpringBoot可以离开SpringCloud独立使用开发项目 但是SpringCloud离不开SpringBoot 属
于依赖的关系 - SpringBoot专注于快速、方便的开发单个微服务个体SpringCloud关注全局的服务治理框架。
6. Spring Cloud和SpringBoot版本对应关系
Spring Cloud Version | SpringBoot Version |
---|---|
Hoxton | 2.2.x |
Greenwich | 2.1.x |
Finchley | 2.0.x |
Edgware | 1.5.x |
Dalston | 1.5.x |
7. SpringCloud由什么组成
- 这就有很多了我讲几个开发中最重要的
- Spring Cloud Eureka服务注册与发现
- Spring Cloud Zuul服务网关
- Spring Cloud Ribbon客户端负载均衡
- Spring Cloud Feign声明性的Web服务客户端
- Spring Cloud Hystrix断路器
- Spring Cloud Config分布式统一配置管理
等20几个框架开源一直在更新
8. 使用 Spring Boot 开发分布式微服务时我们面临什么问题
- 与分布式系统相关的复杂性-这种开销包括网络问题延迟开销带宽问题安全问题。
- 服务发现-服务发现工具管理群集中的流程和服务如何查找和互相交谈。它涉及一个服务目
录在该目录中注册服务然后能够查找并连接到该目录中的服务。 - 冗余-分布式系统中的冗余问题。
- 负载平衡 --负载平衡改善跨多个计算资源的工作负荷诸如计算机计算机集群网络链
路中央处理单元或磁盘驱动器的分布。 - 性能-问题 由于各种运营开销导致的性能问题。
9. Spring Cloud 和dubbo区别?
- 服务调用方式dubbo是RPC springcloud Rest Api
- 注册中心dubbo 是zookeeper springcloud是eureka也可以是zookeeper
- 服务网关dubbo本身没有实现只能通过其他第三方技术整合springcloud有Zuul路由
网关作为路由服务器进行消费者的请求分发,springcloud支持断路器与git完美集成配置文件
支持版本控制事物总线实现配置文件的更新与服务自动装配等等一系列的微服务架构要素。
Eureka
10. 服务注册和发现是什么意思Spring Cloud 如何实现
- 当我们开始一个项目时我们通常在属性文件中进行所有的配置。随着越来越多的服务开发和部
署添加和修改这些属性变得更加复杂。有些服务可能会下降而某些位置可能会发生变化。手动
更改属性可能会产生问题。 Eureka 服务注册和发现可以在这种情况下提供帮助。由于所有服务都
在 Eureka 服务器上注册并通过调用 Eureka 服务器完成查找因此无需处理服务地点的任何更改
和处理。
11. 什么是Eureka
- Eureka作为SpringCloud的服务注册功能服务器他是服务注册中心系统中的其他服务使用
Eureka的客户端将其连接到Eureka Service中并且保持心跳这样工作人员可以通过Eureka
Service来监控各个微服务是否运行正常。
12. Eureka怎么实现高可用
- 集群吧注册多台Eureka然后把SpringCloud服务互相注册客户端从Eureka获取信息时按
照Eureka的顺序来访问。
13. 什么是Eureka的自我保护模式
- 默认情况下如果Eureka Service在一定时间内没有接收到某个微服务的心跳Eureka Service会
进入自我保护模式在该模式下Eureka Service会保护服务注册表中的信息不在删除注册表中的
数据当网络故障恢复后Eureka Servic 节点会自动退出自我保护模式
14. DiscoveryClient的作用
- 可以从注册中心中根据服务别名获取注册的服务器信息。
15. Eureka和ZooKeeper都可以提供服务注册与发现的功能,请说说两个的区别
- ZooKeeper中的节点服务挂了就要选举 在选举期间注册服务瘫痪,虽然服务最终会恢复,但是选举期
间不可用的 选举就是改微服务做了集群必须有一台主其他的都是从 - Eureka各个节点是平等关系,服务器挂了没关系只要有一台Eureka就可以保证服务可用数据都
是最新的。 如果查询到的数据并不是最新的就是因为Eureka的自我保护模式导致的 - Eureka本质上是一个工程,而ZooKeeper只是一个进程
- Eureka可以很好的应对因网络故障导致部分节点失去联系的情况,而不会像ZooKeeper 一样使得整
个注册系统瘫痪 - ZooKeeper保证的是CPEureka保证的是AP
CAP C一致性>Consistency; 取舍(强一致性、单调一致性、会话一致性、最终一致性、弱一
致性) A可用性>Availability; P分区容错性>Partition tolerance;
Zuul
16. 什么是网关?
- 网关相当于一个网络服务架构的入口所有网络请求必须通过网关转发到具体的服务。
17. 网关的作用是什么
- 统一管理微服务请求权限控制、负载均衡、路由转发、监控、安全控制黑名单和白名单等
18. 什么是Spring Cloud Zuul服务网关
- Zuul是对SpringCloud提供的成熟对的路由方案他会根据请求的路径不同网关会定位到指定的
微服务并代理请求到不同的微服务接口他对外隐蔽了微服务的真正接口地址。 三个重要概
念动态路由表路由定位反向代理- 动态路由表Zuul支持Eureka路由手动配置路由这俩种都支持自动更新
- 路由定位根据请求路径Zuul有自己的一套定位服务规则以及路由表达式匹配
- 反向代理客户端请求到路由网关网关受理之后在对目标发送请求拿到响应之后在 给
客户端
- 它可以和Eureka,Ribbon,Hystrix等组件配合使用
- Zuul的应用场景
- 对外暴露权限校验服务聚合日志审计等
19. 网关与过滤器有什么区别
- 网关是对所有服务的请求进行分析过滤过滤器是对单个服务而言。
20. 常用网关框架有那些
- Nginx、Zuul、Gateway
21. Zuul与Nginx有什么区别
- Zuul是java语言实现的主要为java服务提供网关服务尤其在微服务架构中可以更加灵活的对网
关进行操作。Nginx是使用C语言实现性能高于Zuul但是实现自定义操作需要熟悉lua语言对
程序员要求较高可以使用Nginx做Zuul集群。
22. 既然Nginx可以实现网关为什么还需要使用Zuul框架
- Zuul是SpringCloud集成的网关使用Java语言编写可以对SpringCloud架构提供更灵活的服
务。
23. 如何设计一套API接口
- 考虑到API接口的分类可以将API接口分为开发API接口和内网API接口内网API接口用于局域网
为内部服务器提供服务。开放API接口用于对外部合作单位提供接口调用需要遵循Oauth2.0权限
认证协议。同时还需要考虑安全性、幂等性等问题。
24. ZuulFilter常用有那些方法
- Run()过滤器的具体业务逻辑
- shouldFilter()判断过滤器是否有效
- filterOrder()过滤器执行顺序
- filterType()过滤器拦截位置
25. 如何实现动态Zuul网关路由转发
- 通过path配置拦截请求通过ServiceId到配置中心获取转发的服务列表Zuul内部使用Ribbon实
现本地负载均衡和转发。
26. Zuul网关如何搭建集群
- 使用Nginx的upstream设置Zuul服务集群通过location拦截请求并转发到upstream默认使用
轮询机制对Zuul集群发送请求。
Ribbon
27. 负载平衡的意义什么
- 简单来说 先将集群集群就是把一个的事情交给多个人去做假如要做1000个产品给一个人做
要10天我叫10个人做就是一天这就是集群负载均衡的话就是用来控制集群他把做的最多
的人让他慢慢做休息会把做的最少的人让他加量让他做多点。 - 在计算中负载平衡可以改善跨计算机计算机集群网络链接中央处理单元或磁盘驱动器等多
种计算资源的工作负载分布。负载平衡旨在优化资源使用最大化吞吐量最小化响应时间并避免
任何单一资源的过载。使用多个组件进行负载平衡而不是单个组件可能会通过冗余来提高可靠性和
可用性。负载平衡通常涉及专用软件或硬件例如多层交换机或域名系统服务器进程。
28. Ribbon是什么
- Ribbon是Netflix发布的开源项目主要功能是提供客户端的软件负载均衡算法
- Ribbon客户端组件提供一系列完善的配置项如连接超时重试等。简单的说就是在配置文件
中列出后面所有的机器Ribbon会自动的帮助你基于某种规则如简单轮询随即连接等去连
接这些机器。我们也很容易使用Ribbon实现自定义的负载均衡算法。有点类似Nginx
29. Nginx与Ribbon的区别
- Nginx是反向代理同时可以实现负载均衡nginx拦截客户端请求采用负载均衡策略根据upstream
配置进行转发相当于请求通过nginx服务器进行转发。Ribbon是客户端负载均衡从注册中心读
取目标服务器信息然后客户端采用轮询策略对服务直接访问全程在客户端操作。
30. Ribbon底层实现原理
- Ribbon使用discoveryClient从注册中心读取目标服务信息对同一接口请求进行计数使用%取
余算法获取目标服务集群索引返回获取到的目标服务信息。
@LoadBalanced注解的作用
开启客户端负载均衡。
Hystrix
31. 什么是断路器
- 当一个服务调用另一个服务由于网络原因或自身原因出现问题调用者就会等待被调用者的响应
当更多的服务请求到这些资源导致更多的请求等待发生连锁效应雪崩效应 - 断路器有三种状态
- 打开状态一段时间内 达到一定的次数无法调用 并且多次监测没有恢复的迹象 断路器完全打开 那么下次请求就不会请求到该服务
- 半开状态短时间内 有恢复迹象 断路器会将部分请求发给该服务正常调用时 断路器关闭
- 关闭状态当服务一直处于正常状态 能正常调用
32. 什么是 Hystrix
- 在分布式系统我们一定会依赖各种服务那么这些个服务一定会出现失败的情况就会导致雪
崩Hystrix就是这样的一个工具防雪崩利器它具有服务降级服务熔断服务隔离监控等
一些防止雪崩的技术。 - Hystrix有四种防雪崩方式:
- 服务降级接口调用失败就调用本地的方法返回一个空
- 服务熔断接口调用失败就会进入调用接口提前定义好的一个熔断的方法返回错误信息
- 服务隔离隔离服务之间相互影响
- 服务监控在服务发生调用时,会将每秒请求数、成功请求数等运行指标记录下来。
33. 谈谈服务雪崩效应
- 雪崩效应是在大型互联网项目中当某个服务发生宕机时调用这个服务的其他服务也会发生宕
机大型项目的微服务之间的调用是互通的这样就会将服务的不可用逐步扩大到各个其他服务
中从而使整个项目的服务宕机崩溃.发生雪崩效应的原因有以下几点 - 单个服务的代码存在bug. 2请求访问量激增导致服务发生崩溃(如大型商城的枪红包秒杀功能). 3.
服务器的硬件故障也会导致部分服务不可用.
34. 在微服务中如何保护服务?
- 一般使用使用Hystrix框架实现服务隔离来避免出现服务的雪崩效应从而达到保护服务的效
果。当微服务中高并发的数据库访问量导致服务线程阻塞使单个服务宕机服务的不可用会蔓
延到其他服务引起整体服务灾难性后果使用服务降级能有效为不同的服务分配资源,一旦服务
不可用则返回友好提示不占用其他服务资源从而避免单个服务崩溃引发整体服务的不可用.
35. 服务雪崩效应产生的原因
- 因为Tomcat默认情况下只有一个线程池来维护客户端发送的所有的请求这时候某一接口在某一
时刻被大量访问就会占据tomcat线程池中的所有线程其他请求处于等待状态无法连接到服务
接口。
36. 谈谈服务降级、熔断、服务隔离
- 服务降级当客户端请求服务器端的时候防止客户端一直等待不会处理业务逻辑代码直接返
回一个友好的提示给客户端。 - 服务熔断是在服务降级的基础上更直接的一种保护方式当在一个统计时间范围内的请求失败数量
达到设定值requestVolumeThreshold或当前的请求错误率达到设定的错误率阈值
errorThresholdPercentage时开启断路之后的请求直接走fallback方法在设定时间
sleepWindowInMilliseconds后尝试恢复。 - 服务隔离就是Hystrix为隔离的服务开启一个独立的线程池这样在高并发的情况下不会影响其他
服务。服务隔离有线程池和信号量两种实现方式一般使用线程池方式。
37. 服务降级底层是如何实现的
- Hystrix实现服务降级的功能是通过重写HystrixCommand中的getFallback()方法当Hystrix的
run方法或construct执行发生错误时转而执行getFallback()方法。
Feign
38. 什么是Feign
- Feign 是一个声明web服务客户端这使得编写web服务客户端更容易
- 他将我们需要调用的服务方法定义成抽象方法保存在本地就可以了不需要自己构建Http请求
了直接调用接口就行了不过要注意调用方法要和本地抽象方法的签名完全一致。
39. SpringCloud有几种调用接口方式
- Feign
- RestTemplate
40. Ribbon和Feign调用服务的区别
- 调用方式同Ribbon需要我们自己构建Http请求模拟Http请求然后通过RestTemplate发给其他
服务步骤相当繁琐 - 而Feign则是在Ribbon的基础上进行了一次改进采用接口的形式将我们需要调用的服务方法定
义成抽象方法保存在本地就可以了不需要自己构建Http请求了直接调用接口就行了不过要
注意调用方法要和本地抽象方法的签名完全一致。
Bus
41. 什么是 Spring Cloud Bus
- Spring Cloud Bus就像一个分布式执行器用于扩展的Spring Boot应用程序的配置文件但也可
以用作应用程序之间的通信通道。 - Spring Cloud Bus 不能单独完成通信需要配合MQ支持
- Spring Cloud Bus一般是配合Spring Cloud Config做配置中心的
- Springcloud config实时刷新也必须采用SpringCloud Bus消息总线
Config
42. 什么是Spring Cloud Config?
- Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持可以方便的对微服务
各个环境下的配置进行集中式管理。Spring Cloud Config分为Config Server和Config Client两部
分。Config Server负责读取配置文件并且暴露Http API接口Config Client通过调用Config
Server的接口来读取配置文件。
43. 分布式配置中心有那些框架
- Apollo、zookeeper、springcloud config。
44. 分布式配置中心的作用
- 动态变更项目配置信息而不必重新部署项目。
45. SpringCloud Config 可以实现实时刷新吗
- springcloud config实时刷新采用SpringCloud Bus消息总线。
Gateway
46. 什么是Spring Cloud Gateway?
- Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架取代Zuul网关。网关作为流
量的在微服务系统中有着非常作用网关常见的功能有路由转发、权限校验、限流控制等作用。 - 使用了一个RouteLocatorBuilder的bean去创建路由除了创建路由RouteLocatorBuilder可以让
你添加各种predicates和filterspredicates断言的意思顾名思义就是根据具体的请求的规则
由具体的route去处理filters是各种过滤器用来对请求做各种判断和修改。
47. SpringCloud主要项目
- Spring Cloud的子项目大致可分成两类一类是对现有成熟框架"Spring Boot化"的封装和抽
象也是数量最多的项目第二类是开发了一部分分布式系统的基础设施的实现如Spring Cloud
Stream扮演的就是kafka, ActiveMQ这样的角色。
Spring Cloud Config
- Config能够管理所有微服务的配置文件
- 集中配置管理工具分布式系统中统一的外部配置管理默认使用Git来存储配置可以支持客户
端配置的刷新及加密、解密操作。
Spring Cloud Netflix(重点这些组件用的最多)
- Netflix OSS 开源组件集成包括Eureka、Hystrix、Ribbon、Feign、Zuul等核心组件。
- Eureka服务治理组件包括服务端的注册中心和客户端的服务发现机制
- Ribbon负载均衡的服务调用组件具有多种负载均衡调用策略
- Hystrix服务容错组件实现了断路器模式为依赖服务的出错和延迟提供了容错能力
- Feign基于Ribbon和Hystrix的声明式服务调用组件
- ZuulAPI网关组件对请求提供路由及过滤功能。
我觉得SpringCloud的福音是Netflix他把人家的组件都搬来进行封装了使开发者能快速简单安全的使用
Spring Cloud Bus
- 用于传播集群状态变化的消息总线使用轻量级消息代理链接分布式系统中的节点可以用来动态
刷新集群中的服务配置信息。 - 简单来说就是修改了配置文件发送一次请求所有客户端便会重新读取配置文件。
需要利用中间插件MQ
Spring Cloud Consul
- Consul 是 HashiCorp 公司推出的开源工具用于实现分布式系统的服务发现与配置。与其它分布
式服务注册与发现的方案Consul 的方案更“一站式”内置了服务注册与发现框架、分布一致性
协议实现、健康检查、Key/Value 存储、多数据中心方案不再需要依赖其它工具比如
ZooKeeper 等。使用起来也较为简单。Consul 使用 Go 语言编写因此具有天然可移植性(支持
Linux、windows和Mac OS X)安装包仅包含一个可执行文件方便部署与 Docker 等轻量级
容器可无缝配合。
Spring Cloud Security
- 安全工具包他可以对
- 对Zuul代理中的负载均衡从前端到后端服务中获取SSO令牌
- 资源服务器之间的中继令牌
- 使Feign客户端表现得像 OAuth2RestTemplate 获取令牌等的拦截器
- 在Zuul代理中配置下游身份验证
- Spring Cloud Security提供了一组原语用于构建安全的应用程序和服务而且操作简便。可以在
外部或集中进行大量配置的声明性模型有助于实现大型协作的远程组件系统通常具有中央身
份管理服务。它也非常易于在Cloud Foundry等服务平台中使用。在Spring Boot和Spring
Security OAuth2的基础上可以快速创建实现常见模式的系统如单点登录令牌中继和令牌交
换。
Spring Cloud Sleuth
- 在微服务中通常根据业务模块分服务项目中前端发起一个请求后端可能跨几个服务调用才能
完成这个请求如下图。如果系统越来越庞大服务之间的调用与被调用关系就会变得很复杂
假如一个请求中需要跨几个服务调用其中一个服务由于网络延迟等原因挂掉了那么这时候我们
需要分析具体哪一个服务出问题了就会显得很困难。Spring Cloud Sleuth服务链路跟踪功能就可
以帮助我们快速的发现错误根源以及监控分析每条请求链路上的性能等等。
Spring Cloud Stream
- 轻量级事件驱动微服务框架可以使用简单的声明式模型来发送及接收消息主要实现为Apache
Kafka及RabbitMQ。
Spring Cloud Task
- Spring Cloud Task的目标是为Spring Boot应用程序提供创建短运行期微服务的功能。在Spring
Cloud Task中我们可以灵活地动态运行任何任务按需分配资源并在任务完成后检索结果。
Tasks是Spring Cloud Data Flow中的一个基础项目允许用户将几乎任何Spring Boot应用程序作
为一个短期任务执行。
Spring Cloud Zookeeper
- SpringCloud支持三种注册方式Eureka Consul(go语言编写)zookeeper
- Spring Cloud Zookeeper是基于Apache Zookeeper的服务治理组件。
Spring Cloud Gateway
- Spring cloud gateway是spring官方基于Spring 5.0、Spring Boot2.0和Project Reactor等技术开
发的网关Spring Cloud Gateway旨在为微服务架构提供简单、有效和统一的API路由管理方式
Spring Cloud Gateway作为Spring Cloud生态系统中的网关目标是替代Netflix Zuul其不仅提
供统一的路由方式并且还基于Filer链的方式提供了网关基本的功能例如安全、监控/埋点、
限流等。
Spring Cloud OpenFeign
- Feign是一个声明性的Web服务客户端。它使编写Web服务客户端变得更容易。要使用Feign我
们可以将调用的服务方法定义成抽象方法保存在本地添加一点点注解就可以了不需要自己构建
Http请求了直接调用接口就行了不过要注意调用方法要和本地抽象方法的签名完全一致。
Spring Cloud的版本关系
- Spring Cloud是一个由许多子项目组成的综合项目各子项目有不同的发布节奏。 为了管理
Spring Cloud与各子项目的版本依赖关系发布了一个清单其中包括了某个Spring Cloud版本对
应的子项目版本。 为了避免Spring Cloud版本号与子项目版本号混淆Spring Cloud版本采用了
名称而非版本号的命名这些版本的名字采用了伦敦地铁站的名字根据字母表的顺序来对应版本
时间顺序例如Angel是第一个版本Brixton是第二个版本。 当Spring Cloud的发布内容积累到
临界点或者一个重大BUG被解决后会发布一个"service releases"版本简称SRX版本比如
Greenwich.SR2就是Spring Cloud发布的Greenwich版本的第2个SRX版本。目前Spring Cloud的
最新版本是Hoxton。
48. Spring Cloud和SpringBoot版本对应关系
Spring Cloud Version | SpringBoot Version |
---|---|
Hoxton | 2.2.x |
Greenwich | 2.1.x |
Finchley | 2.0.x |
Edgware | 1.5.x |
Dalston | 1.5.x |
49. Spring Cloud和各子项目版本对应关系
- Edgware.SR6我理解为最低版本号
- Greenwich.SR2 :我理解为最高版本号
- Greenwich.BUILD-SNAPSHOT快照是一种特殊的版本指定了某个当前的开发进度的副
本。不同于常规的版本几乎每天都要提交更新的版本如果每次提交都申明一个版本号那不是版
本号都不够用
Component | Edgware.SR6 | Greenwich.SR2 | Greenwich.BUILD-SNAPSHOT |
---|---|---|---|
spring-cloud-aws | 1.2.4.RELEASE | 2.1.2.RELEASE | 2.1.3.BUILD-SNAPSHOT |
spring-cloud-bus | 1.3.4.RELEASE | 2.1.2.RELEASE | 2.1.3.BUILD-SNAPSHOT |
spring-cloud-cli | 1.4.1.RELEASE | 2.0.0.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-commons | 1.3.6.RELEASE | 2.1.2.RELEASE | 2.1.3.BUILD-SNAPSHOT |
spring-cloud-contract | 1.2.7.RELEASE | 2.1.2.RELEASE | 2.1.3.BUILD-SNAPSHOT |
spring-cloud-config | 1.4.7.RELEASE | 2.1.3.RELEASE | 2.1.4.BUILD-SNAPSHOT |
spring-cloud-netflix | 1.4.7.RELEASE | 2.1.2.RELEASE | 2.1.3.BUILD-SNAPSHOT |
spring-cloud-security | 1.2.4.RELEASE | 2.1.3.RELEASE | 2.1.4.BUILD-SNAPSHOT |
spring-cloud-cloudfoundry | 1.1.3.RELEASE | 2.1.2.RELEASE | 2.1.3.BUILD-SNAPSHOT |
spring-cloud-consul | 1.3.6.RELEASE | 2.1.2.RELEASE | 2.1.3.BUILD-SNAPSHOT |
spring-cloud-sleuth | 1.3.6.RELEASE | 2.1.1.RELEASE | 2.1.2.BUILD-SNAPSHOT |
spring-cloud-stream | Ditmars.SR5 | Fishtown.SR3 | Fishtown.BUILD-SNAPSHOT |
spring-cloud-zookeeper | 1.2.3.RELEASE | 2.1.2.RELEASE | 2.1.3.BUILD-SNAPSHOT |
spring-boot | 1.5.21.RELEASE | 2.1.5.RELEASE | 2.1.8.BUILD-SNAPSHOT |
spring-cloud-task | 1.2.4.RELEASE | 2.1.2.RELEASE | 2.1.3.BUILD-SNAPSHOT |
spring-cloud-vault | 1.1.3.RELEASE | 2.1.2.RELEASE | 2.1.3.BUILD-SNAPSHOT |
spring-cloud-gateway | 1.0.3.RELEASE | 2.1.2.RELEASE | 2.1.3.BUILD-SNAPSHOT |
spring-cloud-openfeign | 2.1.2.RELEASE | 2.1.3.BUILD-SNAPSHOT | |
Component | Edgware.SR6 | Greenwich.SR2 | Greenwich.BUILD-SNAPSHOT |
spring-cloud-function | 1.0.2.RELEASE | 2.0.2.RELEASE | 2.0.3.BUILD-SNAPSHOT |
史上最全Java面试宝典BAT大厂面试必备。整理不易建议先关注点赞加收藏
序号 | 名称 | 地址 |
---|---|---|
1 | Java基础面试题91道含答案 | 点击查看 |
2 | Java并发编程面试题 123道含答案 | 点击查看 |
3 | Java异常面试题 33道含答案 | 点击查看 |
4 | Java虚拟机JVM面试题51道含答案 | 点击查看 |
5 | Java集合面试题52道含答案 | 点击查看 |
6 | Linux面试题50道含答案 | 点击查看 |
7 | Memcache面试题23道含答案 | 点击查看 |
8 | Mybatiss面试题 37道含答案 | 点击查看 |
9 | MySQL面试题40道含答案 | 点击查看 |
10 | Netty面试题49道含答案 | 点击查看 |
11 | Nginx面试题23道含答案 | 点击查看 |
12 | RabbitMQ面试题22道含答案 | 点击查看 |
13 | Redis面试题70道含答案 | 点击查看 |
14 | SpringBoot面试题44道含答案 | 点击查看 |
15 | SpringCloud面试题49道含答案 | 点击查看 |
16 | SpringMVC面试题29道含答案 | 点击查看 |
17 | Spring面试题75道含答案 | 点击查看 |
18 | TCP、UDP、Socket、Http网络编程面试题47道含答案 | 点击查看 |
19 | Tomcat面试题15道含答案 | 点击查看 |
20 | Zookeeper面试题28道含答案 | 点击查看 |
21 | 多线程面试题60道含答案 | 点击查看 |
22 | 设计模式面试题14道含答案 | 点击查看 |
23 | BIO、NIO、AIO、Netty面试题35道含答案 | 点击查看 |
24 | Dubbo面试题47道含答案 | 点击查看 |
25 | ElasticSearch面试题31道含答案 | 点击查看 |
26 | Git常用命令63条 | 点击查看 |