又是一年招聘季,整理一些面试题,为自己也为大家整理点资料,希望大家成功上岸。这些整理的是针对面试。因平台单日有发布数量限制,超出限制的只能粉丝查看,需要的请关注后自行获取,谢谢。1、SpringCloud中有哪些组件,整个项目架构中我们的重点又有哪些? SpringCloud是一套基于SpringBoot的微服务解决方案。 SpringCloud生态在国内主流的分为两套,一套是以奈飞开源的SpringCloudNetfilx20,一套是阿里巴巴开源的SpringCloudAlibaba40,在国外其实Azure以及Amzong同时也有一些单独的组件特别火,比如SpringCloudGetaway以及SpringCloudConsul等等 5大核心组件注册中心zkeurekanacosconsul服务治理架构特性配置中心nacosconfigdisconf网关SpringCloudgetawayzuul2zuul负载均衡Ribbonloadbalance声明式远程调用OpenFegin 3大核心配件断路器sentinel信号量隔离(滑动时间窗口的方式)hystrix线程池隔离日志监控ElasticStack(Beats)Promethusgrafan链路追踪skywalkingCATpingpointzipkin 3大常见分布式解决方案 分布式事务txlcnseate分布式锁rediszk 2大中间件 RedisMQ 2大性能优化方案 JVM性能优化MySQL性能优化 2、注册中心技术选型的要素有哪些 组件的服务治理特性 8大服务治理功能服务注册服务续约服务获取服务调用服务下线失效剔除自我保护服务同步 架构特性 CAP定理 定义:CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partitiontolerance)。CAP原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾 分区容错性分区指的是由于网络或者一些不可控因素导致集群中某些节点不连通的情况,而分区容错性指的是当我们的分布式系统出现了分区的情况时,还能够对外提供正常的服务,叫做分区容错性;在目前看来,分区容错性在一个分布式系统中基本上是必备;在一个分布式系统中,由于分区容错性是一定要存在的,那么我们就需要在可用性和一致性上做相关的取舍,下面我们来分析为什么C与A两种状态不能同时存在 CP模式现在我们的Nacos集群中存在三个节点,一个主节点,两个从节点,当主节点与一个从节点出现了分区后,如果我们的前提是需要保证整个系统的一致性,也就是需要保证Consistency这个状态存在;整个集群会发起主节点的重新选举,选举完成后同步所有的数据来保持数据的一致性,那么在选主的过程中,一定会导致一段时间的不可用,当然这个时间会极短,从而不能保证完全可用性 AP模式在AP模式下我们的集群没有主从的概念,所有的节点都是平等的,并且每个节点间的数据都互通;如果两个节点中间发生了分区情况,两个节点不再连通,但是我们的系统又必须保证整体的可用性,所以节点间会出现一段时间的数据不一致,直到分区恢复