springCloud常见面试题

1.什么是springCloud?   
spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署   
2.springCloud的核心组件及其作用?   
1)Eureka: 主要用于服务注册与发现,它既包含了服务端的组件也包含了客户端的组件,服务端和客户端都是java编写,因此Eureka主要适用通过java实现的分布式系统。  
Eureka服务端也称为注册中心,支持高可用,可以部署集群。  
Eureka客户端主要处理服务的注册与发现,客户端通过注解和参数配置的方式在程序运行时,Eureka客户端向注册中心注册自身提供的服务并周期性的发送心跳机制来更新它的服务租约,同时也能从服务端查询当前注册的服务信息并把他们缓存到本地并周期性的刷新服务状态。    
2)Ribbon:是一个基于http和tcp的客户端负载均衡工具,微服务间的调用,api网关的请求转发等内容实际上都是通过Ribbon来实现的。    
3)Feign:基于动态代理机制,根据注解和选择的机器,拼接请求 url 地址,发起请求。   
4)Hystrix:提供线程池,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题。   
5)Zuul:网关管理,由 Zuul 网关转发请求给对应的服务。    
3.springCloud 断路器的作用是什么?  
在分布式架构中,断路器模式的作用也是类似的,当某个服务单元发生故障(类似用电器发生短路)之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。    
4.springboot 和springCloud  
SpringBoot是Spring推出用于解决传统框架配置文件冗余,装配组件繁杂的解决方案。 
SpringCloud专注于解决各个微服务之间的协调与配置,服务之间的通信,熔断,负载均衡等. 
5.负载均衡的意义。  
负载均衡旨在优化资源使用,最大吞吐量,最小响应时间并避免任何单一资源的过载。使用多个组件进行负载均衡而不是单个组件可能会通过冗余来提高可靠性和可用性。  
6.springcloud如何实现服务的注册?    
1).服务发布时,指定对应的服务名,将服务注册到 注册中心
2).注册中心加@EnableEurekaServer,服务用@EnableDiscoveryClient,然后用ribbon或feign进行服务直接的调用发现。  
7.Eureka 的自我保护机制是什么? 
当Eureka Server 节点在短时间内丢失了过多实例的连接时(比如网络故障或频繁启动关闭客户端)节点会进入自我保护模式,保护注册信息,不再删除注册数据,故障恢复时,自动退出自我保护模式。  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值