南通网站建设方案,找阿里巴巴购买做网站的软件,做求职网站市场,wordpress iis伪静态规则目录前言一.微服务1.微服务是什么#xff1f;2.你知道哪些RPC框架3.springCloud和Dubbo有什么区别4. SpringCloud由什么组成二.Spring Cloud Eureka1.Eureka包含几个组件2.Eureka的工作原理3.说一下什么是Eureka的自我保护机制4.什么是CAP原则5.都是服务注册中心#xff0c;E…
目录前言一.微服务1.微服务是什么2.你知道哪些RPC框架3.springCloud和Dubbo有什么区别4. SpringCloud由什么组成二.Spring Cloud Eureka1.Eureka包含几个组件2.Eureka的工作原理3.说一下什么是Eureka的自我保护机制4.什么是CAP原则5.都是服务注册中心Eureka比Zookeeper好在哪里?三.Spring Cloud Ribbon1.Ribbon的作用2.Ribbon的原理3.Ribbon和nginx的区别四.Spring Cloud Feign1.Feign的作用2.SpringCloud有几种调用接口方式3.Ribbon和Feign调用服务的区别五.Spring Cloud Hystrix1.说一说什么是服务雪崩2.Hystrix断路器是什么3.什么是服务降级、服务熔断、服务隔离六.Spring Cloud Zuul1.什么是Zuul微服务网关2.Zuul的应用场景七.Spring Cloud Config1.什么是Spring Cloud Config前言
java最新面试题(java基础、集合、多线程、jvm、锁、算法、CAS、Redis、数据库、mybatis、spring、springMVC、springBoot、微服务)
一.微服务
1.微服务是什么
分布式多个模块每一个模块都是一个单独的系统。
2.你知道哪些RPC框架
RPC(Remote Procedure Call)远程过程调用。 Dubbo 国内最早开源的 RPC 框架由阿里巴巴公司开发并于 2011 年末对外开源。 Spring Cloud 国外公司 2014 年对外开源的 RPC 框架。
3.springCloud和Dubbo有什么区别
①定位不同 springCloud微服务架构下的一站式解决方案Dubbo主要用于服务的调用和治理。 ②生态环境不同 springCloud依靠spring平台更完善Dubbo相对匮乏。 ③调用方式不同 springCloud是采用Http协议做远程调用接口一般是Rest风格比较灵活Dubbo是采用Dubbo协议接口一般是Java的Service接口格式固定。 **简单来说**s pringCloud是品牌机Dubbo是组装机。
4. SpringCloud由什么组成
Spring Cloud Eureka 服务注册与发现。 Spring Cloud Feign 服务接口调用。 Spring Cloud Ribbon 客户端负载均衡。 Spring Cloud Hystrix 断路器。 Spring Cloud Zuul 服务网关。 Spring Cloud Config 分布式统一配置管理。 等等。
二.Spring Cloud Eureka
1.Eureka包含几个组件
Eurake Client(客户端) 负责将这个服务的信息注册到Eureka Server中。 Eureka Server(服务端) 注册中心,里面有一个注册表,保存了各个服务所在的机器和端口号。
2.Eureka的工作原理
原理 系统中的其他服务使用Eureka的客户端将其连接到Eureka服务端中并且保持心跳这样工作人员可以通过Eureka服务端来监控各个微服务是否运行正常。
3.说一下什么是Eureka的自我保护机制
如果Eureka服务端在一定时间内没有接收到某个微服务的心跳(默认90s)Eureka服务端会进入自我保护模式在该模式下Eureka服务端会保护服务注册表中的信息不在删除注册表中的数据当网络故障恢复后Eureka服务端节点会自动退出自我保护模式。
4.什么是CAP原则
CAP原则 又称CAP定理指的是在一个分布式系统中强一致性Consistency、可用性Availability、分区容错性Partition tolerance。CAP 原则指的是这三个要素最多只能同时实现两点不可能三者兼顾。 强一致性(Consistency) 访问所有的节点得到的数据结果都是一样的。 可用性(Availability) 保证每个请求不管成功或者失败都有响应。 分区容错性(Partiton tolerance) 系统中任意信息的丢失或失败不会影响系统的继续运作。
5.都是服务注册中心Eureka比Zookeeper好在哪里?
在分布式系统中分区容错性是必须要保证的因此只能保证A或C只能AP和CP。 Zookeeper 保证的是CP可以容忍注册中心返回几分钟之前的注册信息但是不能接受服务直接down掉不可用当主机的节点发生网络故障了会选取新的主节点响应时间过长。 Eureka 保证的是APEureka的节点都是平等的不存在主机从机因此Eureka可以很好的应对因网络故障导致部分节点失去联系的情况而不会像Zookeeper那样是整个注册中心瘫痪。
三.Spring Cloud Ribbon
1.Ribbon的作用
主要功能是提供客户端的软件负载均衡算法默认是轮询算法。
2.Ribbon的原理
Ribbon会从注册中心获取到服务的信息然后通过轮询算法从中选择一台机器。
3.Ribbon和nginx的区别
nginx 反向代理实现负载均衡相当于从nginx服务器进行请求转发。 Ribbon 客户端负载均衡全程都是客户端操作。
四.Spring Cloud Feign
1.Feign的作用
Feign集成了RibbonFeign 是一个声明web服务客户端这使得编写web服务客户端更容易远程调用更加简单。
2.SpringCloud有几种调用接口方式
Feign RestTemplate
3.Ribbon和Feign调用服务的区别
Ribbon 需要我们自己构建http请求然后通过RestTemplate去发给其他服务比较繁琐。 Feign 不需要自己构建Http请求直接接口调用就行。
五.Spring Cloud Hystrix
1.说一说什么是服务雪崩
服务雪崩多个服务相互调用时A调BB调CC调D等等更多调用那么如果中间调用需要很长时间然后再去调用A那么占用的资源就越来越多导致系统崩溃。
2.Hystrix断路器是什么
防止服务雪崩的一个工具具有服务降级、服务熔断(HystrixCommand(fallbackMethod “hystrixById”) //失败了调用的方法)、服务隔离、监控等防止雪崩的技术。
3.什么是服务降级、服务熔断、服务隔离
服务降级 资源不够时关闭一下资源保证核心服务的运行。 服务熔断 当服务出现故障时会直接走熔断的方法。 服务隔离 为隔离的服务开启一个独立的线程这样在高并发情况下也不会影响该服务。一般使用线程池实现(还有信号量方式实现)。
六.Spring Cloud Zuul
1.什么是Zuul微服务网关
接收所有的请求并且将不同的请求转发至不同的微服务模块。
2.Zuul的应用场景
①过滤器 ②权限认证 ③降级限流 ④安全
七.Spring Cloud Config
1.什么是Spring Cloud Config
集中管理配置文件不需要每个服务编写配置文件服务会向配置中心拉取配置。 实时刷新(需要spring cloud bus)。