springcloud面试准备,面经
Spring Cloud 面试准备,面经 在本文中,我们将详细介绍 Spring Cloud 面试准备的相关知识点,包括 Spring Cloud 的定义、微服务架构、Spring Cloud 的优势、微服务之间的独立通讯方式、服务熔断和服务降级、Eureka 和 Zookeeper 的区别等。 一、什么是 Spring Cloud? Spring Cloud 是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成。它是一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。 二、什么是微服务? 微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分为一组小的服务,每个服务运行在其独立的自己的进程中,服务之间相互协调、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API),每个服务都围绕着具体的业务进行构建,并且能够被独立的构建在生产环境、类生产环境等。 三、Spring Cloud 的优势 使用 Spring Boot 开发分布式微服务时,我们面临以下问题: * 分布式系统相关的复杂性 * 服务发现 * 冗余 * 负载平衡 * 性能问题 * 部署复杂性 Spring Cloud 通过提供一系列的工具和组件,帮助我们解决这些问题,从而提高分布式微服务的开发效率和可维护性。 四、微服务之间如何独立通讯的? 微服务之间可以通过同步通信和异步通信来实现独立通讯。同步通信可以通过 Dubbo 通过 RPC 远程过程调用、Spring Cloud 通过 REST 接口json 调用等实现。异步通信可以通过消息队列,如 RabbitMq、ActiveM、Kafka 等消息队列实现。 五、什么是服务熔断?什么是服务降级? 熔断机制是应对雪崩效应的一种微服务链路保护机制。当某个微服务不可用或者响应时间太长时,会进行服务降级,进而熔断该节点微服务的调用,快速返回“错误”的响应信息。当检测到该节点微服务调用响应正常后恢复调用链路。在 Spring Cloud 框架里熔断机制通过 Hystrix 实现,Hystrix 会监控微服务间调用的状况,当失败的调用到一定阈值,缺省是 5 秒内调用 20次,如果失败,就会启动熔断机制。 服务降级是一种从整体负荷考虑的机制,就是当某个服务熔断之后,服务器将不再被调用,此时客户端可以自己准备一个本地的 fallback 回调,返回一个缺省值。这样做,虽然水平下降,但好歹可用,比直接挂掉强。 六、Eureka 和 Zookeeper 的区别 Eureka 和 Zookeeper 都是服务注册中心,但是它们有不同的设计目标和实现机制。Eureka 保证了 AP(高可用性),而 Zookeeper 保证了 CP(一致性)。在云部署的环境下,因网络问题使得 zk 集群失去master 节点是较大概率会发生的事,虽然服务能够恢复,但是漫长的选取leader 时间会导致选取期间注册服务瘫痪。
剩余10页未读,继续阅读
- 粉丝: 0
- 资源: 13
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助