面试Spring Cloud 问了我35个问题,全部分享出来!

❝对于目前来说,微服务已经是程序员必会的技能之一了。Spring Cloud 作为一个优质的微服务框架,已经被很多公司使用。以下小编给大家整理35道Spring Cloud 的知识点,或者说是面试题都不冲突。后续还会继续更新⛽️ ❞

1.什么是SpringCloud?

Spring Cloud为开发人员提供了工具,以快速构建分布式系统中的一些常见模式(例如,配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,群集状态)。它们可以在任何分布式环境中正常工作,包括开发人员自己的笔记本电脑,裸机数据中心以及Cloud Foundry等托管平台。

2.什么是微服务?

所谓的微服务是SOA架构下的最终产物,该架构的设计目标是为了肢解业务,使得服务能够独立运行。微服务设计原则:

1、各司其职 。

2、服务高可用和可扩展性。

3.SpringCloud有哪些特征?

Spring Cloud专注于为典型的用例和可扩展性机制(包括其他用例)提供良好的开箱即用体验。

  • 分布式/版本化配置

  • 服务注册和发现

  • 路由

  • 服务到服务的调用

  • 负载均衡

  • 断路器

  • 全局锁

  • 领导选举和集群状态

  • 分布式消息传递

4.SpringCloud核心组件?

Eureka : 注册中心

Ribbon :客服端负载均衡

Hystrix : 服务容错处理

Feign: 声明式REST客户端

Zuul : 服务网关

Config : 分布式配置

5.SpringCloud基于什么协议?

HTTP

6.SpringCloud和Dubbo区别?

image

7.Eureka是什么?

云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。

8.服务治理的基础角色?

服务注册中心:提供服务注册与发现的能力。

服务提供者:提供服务的应用,会把自己提供的服务注册到注册中心。

服务消费者:服务的消费者,从注册中心获取服务列表。

9.什么是服务续约?

在注册完服务以后,服务提供者会维护一个心跳来向注册中心证明自己还活着,以此防止被“剔除服务”。

10.什么是服务下线?

当服务实例进行正常关闭时,会发送一个REST请求(我要下线了)给注册中心,收到请求后,将该服务状态设置下线(DOWN),并把这事件传播出去。

11.什么是失效剔除?

当服务非正常下线时,可能服务注册中心没有收到下线请求,注册中心会创建一个定时任务(默认60s)将没有在固定时间(默认90s)内续约的服务剔除掉。

12.什么是自我保护机制?

在运行期间,注册中心会统计心跳失败比例在15分钟之内是否低于85%,如果低于的情况,注册中心会将当前注册实例信息保护起来,不再删除这些实例信息,当网络恢复后,退出自我保护机制。

自我保护机制让服务集群更稳定、健壮。

13.Ribbon是什么?

提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。

14.Ribbon负载均衡的注解是?

@LoadBalanced

15.Ribbon负载均衡策略有哪些?

RandomRule : 随机。

RoundRobinRule : 轮询。

RetryRule : 重试。

WeightedResponseTimeRule : 权重。

ClientConfigEnabledRoundRobinRule : 一般不用,通过继承该策略,默认的choose就实现了线性轮询机制。可以基于它来做扩展。

BestAvailableRule : 通过便利负载均衡器中维护的所有服务实例,会过滤到故障的,并选择并发请求最小的一个。

PredicateBasedRule : 先过滤清单,再轮询。

AvailabilityFilteringRule :继承了父类的先过滤清单,再轮询。调整了算法。

ZoneAvoidanceRule : 该类也是PredicateBasedRule的子类,它可以组合过滤条件。以ZoneAvoidancePredicate为主过滤条件,以AvailabilityPredicate为次过滤条件。

16.什么是服务熔断?

服务熔断的作用类似于我们家用的保险丝,当某服务出现不可用或响应超时的情况时,为了防止整个系统出现雪崩,暂时停止对该服务的调用。

17.什么是服务降级?

服务降级是当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。

18.什么是Hystrix?

熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。

19.断路器Hystrix的有哪些功能?

  • 通过第三方客户端访问依赖服务出现高延迟或者失败时,为系统提供保护和控制 。

  • 在复杂的分布式系统中防止级联失败(服务雪崩效应) 。

  • 快速失败 (Failfast) 同时能快速恢复。

  • 提供失败回滚 (Fallback) 和优雅的服务降级机制。

  • 提供近实时的监控、 报警和运维控制手段。

20.Hystrix将远程调用封装到?

HystrixCommand 或者 HystrixObservableCommand对象中。

21.启动熔断降级服务的注解?

@EnableHystrix

22.什么是Feign?

Feign是一种声明式、模板化的HTTP客户端。

23.Feign优点?

1.feign采用的是基于接口的注解。2.feign整合了ribbon,具有负载均衡的能力。3.整合了Hystrix,具有熔断的能力。

24.什么是Config?

配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。

25.Config组件中的两个角色?

Config Server : 配置中心服务端。

Config Client : 配置中心客户端。

26.什么是Zuul?

Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。

27.使用Zuul的优点?

  • 方便监控。可以在微服务网管手机监控数据并将其推送到外部系统进行分析。

  • 方便认证。可在网关进行统一认证,然后在讲请求转发到后端服务。

  • 隐藏架构实现细节,提供统一的入口给客户端请求,减少了客户端和每个微服务的交互次数。

  • 可以统一处理切面任务,避免每个微服务自己开发,提升效率。

  • 高可用高伸缩性的服务,避免单点失效。

28.Zuul的核心是?

过滤器。

29.Zuul有几种过滤器类型?分别是?

4种。

pre : 可以在请求被路由之前调用。

适用于身份认证的场景,认证通过后再继续执行下面的流程。

route : 在路由请求时被调用。

适用于灰度发布场景,在将要路由的时候可以做一些自定义的逻辑。

post :在 route 和 error 过滤器之后被调用。

这种过滤器将请求路由到达具体的服务之后执行。适用于需要添加响应头,记录响应日志等应用场景。

error : 处理请求时发生错误时被调用。

在执行过程中发送错误时会进入 error 过滤器,可以用来统一记录错误信息。

30.什么是Sleuth?

日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。

31.Sleuth帮助我们做了哪些工作?

  • 可以方便的了解到每个采样的请求耗时,分析出哪些服务调用比较耗时。

  • 对于程序未捕捉的异常,可以在集成Zipkin服务页面上看到。

  • 识别调用比较频繁的服务,从而进行优化。

32.什么是Bus?

事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。

**33.eureka比zookeeper的优势在?****

A:高可用 C:一致性,P:分区容错性

Zookeeper保证了CP,Eureka保证了AP。

Eureka可以很好的应对因网络故障导致部分节点失去联系的情况,而不会像Zookeeper那样使整个微服务瘫痪。

34.什么是Stream?

数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。

35.你还知道哪些微服务框架?

Dubbo Motan Tars gRPC Thrift

参考:

《Spring Cloud微服务实战》

《Spring Cloud微服务全栈技术与案例解析》

《Spring Cloud微服务架构开发实战》

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351

推荐阅读更多精彩内容

  • 点赞再看,养成习惯,微信搜一搜 【码农清风】 共勉进阶之路!本文 GitHub https://github.co...
    老王420阅读 422评论 0 0
  • 微服务相关: 1.什么是微服务? 1.微服务是一种架构模式或是一种架构风格,它提倡的是将单一的应用程序划分成若干个...
    久伴_不离阅读 3,383评论 0 3
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,517评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,561评论 0 11
  • 可爱进取,孤独成精。努力飞翔,天堂翱翔。战争美好,孤独进取。胆大飞翔,成就辉煌。努力进取,遥望,和谐家园。可爱游走...
    赵原野阅读 2,724评论 1 1