Java面试题【必知必会】SpringCloud常见面试题(2024)

近期一直在准备面试,所以为了巩固知识,也为了梳理,整理了一些java的基础面试题!同时也希望各位英雄和女侠能够补充!不胜荣幸!!!

名称 地址
Java面试题【必知必会】基础(2024) Go-Go-Go
Java面试题【必知必会】常见基础题(2024) Go-Go-Go
Java面试题【必知必会】MySQL常见面试题(2024) Go-Go-Go
Java面试题【必知必会】Spring常见面试题(2024) Go-Go-Go
Java面试题【必知必会】Mybatis常见面试题(2024) Go-Go-Go
Java面试题【必知必会】SpringMVC常见面试题(2024) Go-Go-Go
Java面试题【必知必会】SpringBoot常见面试题(2024) Go-Go-Go
Java面试题【必知必会】SpringCloud常见面试题(2024) Go-Go-Go
Java面试题【必知必会】Redis常见面试题(2024) Go-Go-Go
Java面试题【必知必会】Linux常用命令面试题(2024) Go-Go-Go

1.SpringBoot和SpringCloud的区别?

  1. SpringBoot专注于快速方便的开发单个个体微服务
  2. SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务,SpringBoot可以离开SpringCloud独立使用开发项目, 但是SpringCloud离不开SpringBoot ,属于依赖的关系,SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架。

2.使用 Spring Boot 开发分布式微服务时,我们面临以下问题

  1. 与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题,安全问题
  2. 服务发现-服务发现工具管理群集中的流程和服务如何查找和互相交谈。它涉及一个服务目录,在该目录中注册服务,然后能够查找并连接到该目录中的服务
  3. 冗余-分布式系统中的冗余问题。
  4. 负载平衡 —负载平衡改善跨多个计算资源的工作负荷,诸如计算机,计算机集群,网络链路,中央处理单元,或磁盘驱动器的分布。
  5. 性能-问题 由于各种运营开销导致的性能问题。
  6. 部署复杂性-Devops 技能的要求。

3.服务注册和发现是什么意思?Spring Cloud 如何实现?

  1. 当我们开始一个项目时,我们通常在属性文件中进行所有的配置。随着越来越多的服务开发和部署,添加和修改这些属性变得更加复杂.有些服务可能会下降,而某些位置可能会发生变化。手动更改属性可能会产生问题。
  • 简单的理解就是:通过服务注册机制将启动服务的信息上传至服务注册表,服务发现机制通过服务注册表实时获取可用服务的信息
  • 服务注册有自注册和第三方注册

自注册:顾名思义,就是服务提供方在启动服务时自己把提供服务的IP和端口发送到注册中心,并通过心跳方式维持健康状态;服务下线时,自己把相应的数据删除。典型的像使用eureka客户端发布微服务

第三方注册是指,存在一个第三方的系统负责在服务启动或停止时向注册中心增加或删除服务数据。典型的用法是devops系统或容器调度系统主动调注册中心接口注册服务

  • 服务发现的意思:真正发起服务调用前,调用方需要从注册中心拿到相应服务可用的IP和端口列表,即服务发现
  1. Eureka 服务注册和发现可以在这种情况下提供帮助。由于所有服务都在 Eureka 服务器上注册并通过调用 Eureka 服务器完成查找,因此无需处理服务地点的任何更改和处理

4.springcloud有哪些组件?springcloud核心组件及其作用? ======+1

  1. springcloud组件:
  • Eureka : 服务注册与发现
  • Ribbon : 负载均衡
  • Hystrix : 服务保护与熔断机制
  • Feign : 声明式接口
  • Zuul/Gateway : 网关
  • Integration/Stream : MQ接口绑定
  • Bus : 事件监听
  • Sleuth+Zipkin : 分布式链路追踪
  • Config : 配置中心
  • 可替换组件:注册中心、配置中心:Zookeeper、Consul
  1. springcloud核心组件及其作用:
  • Eureka:这个服务启动时,Eureka会将服务注册到EurekaService,并且EurakeClient还可以返回过来从EurekaService拉去注册表,从而知道服务在哪里

  • Feign: 基于fegin的动态代理机制,根据注解和选择机器,拼接Url地址,发起请求

  • Ribbon: 服务间发起请求的时候,基于Ribbon服务做到负载均衡,从一个服务的对台机器中选择一台

  • Hystrix: 发起的请求是通过Hystrix的线程池来走,不同的服走不同的线程池,实现了不同的服务调度隔离,避免服务雪崩的问题

  • zull: 如果前端后端移动端调用后台系统,统一走zull网关进入,有zull网关转发请求给对应的服务

  • config 提供的一个分布式配置中心,用于集中管理和存储分布式系统和微服务架构中的配置信息。它可以帮助开发者将应用的配置信息独立于应用本身进行管理,实现配置的集中化管理、版本管理、动态刷新等功能

5.Spring Cloud 和dubbo区别?======被问+1

  1. 服务调用方式 dubbo是RPC springcloud Rest Api
  2. 注册中心,dubbo 是zookeeper springcloud是eureka,也可以是zookeeper
  3. 服务网关,dubbo本身没有实现,只能通过其他第三方技术整合,springcloud有Zuul路由网关,作为路由服务器,进行消费者的请求分发,springcloud支持断路器,与git完美集成配置文件支持版本控制,事物总线实现配置文件的更新与服务自动装配等等一系列的微服务架构要素

6.什么是负载均衡以及负载均衡有哪几种策略?负载均衡的意义什么?

  1. 负载均衡简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA (高用)
  2. 负载均衡的策略:
  • 轮询策略:轮询选择服务器(Rabbon默认)
  • 随机策略:随机选择一个服务器
  • 重试策略:根据轮询的方式重试
  • 权重策略:据响应时间去分配一个weight ,weight越低,被选择的可能性就越低
  • 最低并发策略:选择最小请求数
  • 可用过滤策略:过滤掉连接失败的服务节点,并
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你不懂、、、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值