当前位置:硬件测评 > Spring Cloud面试连续25条爆料!

Spring Cloud面试连续25条爆料!

  • 发布:2023-10-06 03:18

  • 前言
  • spring云核心知识总结
  • 连环炮动了
  • 总结

前言

上周有朋友在面试时被问及SpringCloud,然后结合他的反馈,今天我们继续SpringCloud面试系列。

Spring Cloud核心知识总结

以下是Spring Cloud核心组件关系图:

图片

从这张图中,我们其实可以得到很多信息,希望大家能仔细品味。

废话不多说,直接开始Spring Cloud系列大炮吧。

连环炮动了

1。什么是Spring Cloud?

Spring 云流应用 Starter 是一个基于 Spring Boot 的 Spring 集成应用,提供与外部系统的集成。 Spring Cloud Task 是一个短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。

2。什么是微服务?

微服务架构是一种架构模式或架构风格,主张将单个应用程序划分为一组小型服务。每个服务都在自己独立的进程中运行。他们相互协调、配合,为用户提供最终的价值。服务之间使用轻量级通信机制进行通信(通常是基于HTTP的RESTful API)。每个服务都是围绕特定业务构建的,可以在生产环境、类生产环境等中独立构建。此外,应避免统一、集中的服务管理机制。对于特定的服务,应该根据业务上下文选择合适的语言和工具来构建它。可以有非常轻量级的集中管理。为了协调这些服务,可以使用不同的语言来编写服务,并且可以使用不同的数据存储。

通俗地说:

微服务是具有单一职责的独立服务应用程序。 intellijidea工具中,有使用maven开发的独立模块。具体来说,它是使用springboot开发的一个小模块,用于处理单一的专业业务逻辑。一个模块只做一件事。

微服务强调服务的规模,聚焦于某一点,具体解决某个问题/实现相应的服务应用,可以看作是思想中的一个模块。

3。 Spring Cloud 有哪些优势

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

  • 与分布式系统相关的复杂性 - 此开销包括网络问题、延迟开销、带宽问题、安全问题。
  • 服务发现 - 服务发现工具管理集群中的进程和服务如何相互查找和通信。它涉及服务目录、在该目录中注册服务,然后能够查找并连接到该目录中的服务。
  • 冗余 - 分布式系统中的冗余问题。
  • 负载平衡 – 负载平衡改善了多个计算资源(例如计算机、计算机集群、网络链接、中央处理单元或磁盘驱动器)之间的工作负载分配。
  • 性能问题 由于各种运营开销而导致的性能问题。
  • 部署复杂性 - DevOps 技能的要求。

4。微服务如何独立通信?

同步通信:dobbo通过RPC远程过程调用、springcloud通过REST接口json调用等

异步:消息队列,如:RabbitMqActiveMKafka等消息队列。

5。什么是服务断路器?什么是服务降级?

熔断机制是应对雪崩效应的微服务链路保护机制。当某个微服务不可用或响应时间过长时,服务会降级,从而中断节点上微服务的调用,并快速返回“错误”响应信息。当检测到该节点的微服务调用响应正常时,调用链路恢复。在Spring Cloud框架中,熔断机制是通过Hystrix实现的。 Hystrix会监控微服务之间的调用状态。当失败呼叫达到一定阈值时,默认为5秒内20次呼叫。如果失败,断路器机制将被激活。

服务降级一般从整体负载来考虑。即当某个服务断开后,将不再调用服务器。此时,客户端可以准备本地回退回调并返回默认值。这样一来,虽然等级降低了,但还是可以用的,这比直接死掉要好。

Hystrix相关笔记@EnableHystrix:开启熔断@HystrixCommand(fallbackMethod="XXX"),声明失败回滚处理函数XXX ,当被注解的方法超时(默认1000毫秒)时,会执行fallback函数,并返回错误信息。

6。请告诉我尤里卡和动物园管理员之间的区别?

Zookeeper保证CP,Eureka保证AP。

相关文章

热门推荐