FAQ-微服务SpringCloudAlibaba

  1. Nacos 注册与配置中心
    1. 基础篇

  • 我们的服务实例是如何注册到Nacos服务的?(基于HTTP请求)
  • 在Nacos中服务提供者是如何向注册中心(Registry)续约的?(5秒心跳)
  • 对于Nacos服务来讲它是如何判定服务实例的状态?(检测心跳包,15,30)
  • 服务启动时如何找到服务启动注册配置类?(NacosNamingService)
  • 服务消费方是如何调用服务提供方的服务的?(RestTemplate+
  • LoadBalancerClient)
  • 当nacos注册中心关闭了,服务消费方还能调用到服务吗?(可以,本地缓存)
  • Nacos注册中心基于什么协议进行服务提供者的实例信息推送?(UDP协议)
  • Nacos 是如何实现其高可用的?(重试,心跳,缓存、集群)
  • 什么是配置中心?(存储项目配置信息的一个服务)
  • 为什么要使用配置中心?(集中管理配置信息,动态发布配置信息)
  • 市场上有哪些主流的配置中心?(Apollo,nacos,…..)
  • 配置中心一般都会配置什么内容?(可能会经常变化的配置信息,例如连接池,日志、线程池、限流熔断规则)
  • 什么信息一般不会写到配置中心?(服务端口,服务名,服务的注册地址,配置中心)
  • 项目中为什么要定义bootstrap.yml文件?(定义优先访问的配置信息)
  • Nacos配置中的管理模型是怎样的?(namespace,group,service/data-id)
  • Nacos配置中心关闭,微服务还能都到配置信息吗?(可以,都本地缓存)
  • Nacos的客户端是采用什么机制从配置中心获取数据的?(

拉取+namespce+group+dataId)

  • Nacos 的服务端为什么不采取配置推送(push)方式,而是客户端pull方式去获取配置信息?(服务端的压力可能会比较大,除非服务端的性能要求非常高)
  • Nacos客户端(微服务)是否可以读取共享配置?(可以)

    1. 进阶篇
  • 服务消费方是如何拿到nacos注册中心的服务提供者实例的?(pull)
  • 微服务应用中我们的客户端如何获取配置中心的信息?(可以基于客户端轮询的方式)
  • 微服务应用中客户端如何感知配置中心数据变化?(@RefreshScope)

  1. Ribbon 负责均衡
    1. 基础篇
  • Ribbon 是什么?(Netflix公司提供的一个负载均衡客户端)
  • Ribbon 可以解决什么问题? (基于负载均衡策略进行服务调用)
  • @LoadBalanced的作用是什么?(告诉Spring框架,再使用RestTempalte进行服务调用时,要启动负载均衡策略。)
    1. 进阶篇

  • Ribbon 内置的负载策略都有哪些?(8种)
  • 我们可以自己定义负载均衡策略吗?(可以,基于IRule接口进行策略定义)

  1. Feign 远程调用
    1. 基础篇
  • 为什么使用feign?

基于Feign可以更加友好的实现服务调用,简化服务消费方对服务提供方方法的调用。

  • @FeignClient注解的作用是什么?
  • Feign方式调用底层负载均衡是如何实现的?

    1. 进阶篇
  • Feign方式的底层调用过程是怎样的?
  • Feign方式的调用过程中出现异常如何解决?

  1. Sentinel 熔断限流
    1. 基础篇
  • Sentinel是什么?(阿里推出一个流量控制平台,防卫兵)
  • 类似Sentinel的产品你知道有什么?(hystrix)
  • 你了解哪些限流算法?(计数器、令牌桶、漏斗算法,滑动窗口算法,…)
  • Sentinel 默认的限流算法是什么?(滑动窗口算法)
  • 你了解sentinel中的阈值应用类型吗?(两种-QPS,线程数)
  • Sentinel 限流规则中默认有哪些限流模式?(直连,关联,链路)
  • Sentinel的限流效果有哪些?(快速失败,预热,排队)
  • Sentinel 为什么可以对我们的业务进行限流,原理是什么?
  • 我们在访问web应用时,在web引用内部会有一个拦截器,这个拦截器会对请求的url进行拦截,拦截到请求以后,读取sentinel 控制台推送到web应用的流控规则,基于流控规则对流量进行限流操作。
  • Sentinel如何针对热点参数进行限流?
  • 何为降级熔断?(让外部应用停止对服务的访问)
  • 为什么要进行熔断呢?(一般服务不稳定,例如平均响应速度越来越慢或经常出现异常,这样可能会导致调用链堆积,最终系统崩溃)
  • Sentinel中限流,降级的异常父类是谁?(BlockException)
  • Sentinel 出现降级熔断时,系统底层抛出的异常是谁?(DegradeException)
  • Sentinel中异常处理接口是谁?(BlockExceptionHandler)
  • Sentinel中异常处理接口下默认的实现类为? (DefaultBlockExceptionHandler)
  • 假如Sentinel中默认的异常处理规则不满足我们的需求怎么办?(自己定义)
  • 我们如何自己定义Sentinel中异常处理呢?
  • Sentinel 降级熔断策略有哪些?(慢调用,异常比例,异常数)
  • Sentinel 熔断处理逻辑中的有哪些状态?(Open,HalfOpen,Closed)
  • Sentinel 对服务调用进行熔断以后处于什么状态?(熔断打开状态-Open)
  • Sentinel 设置的熔断时长到期以后,Sentinel的熔断会处于什么状态?(探测-HalfOpen,假如再次访问时依旧响应时间比较长或依旧有异常,则继续熔断)
  • Sentinel 中的熔断逻辑恢复正常调用以后,会出现什么状态?(熔断关闭-closed)
  • 如何理解热点数据?(访问频度比较高的数据)
  • 热点数据的限流规则是怎样的?(主要是针对参数进行限流设计)
  • 热点数据中的特殊参数如何理解?(热点限流中的某个参数值的阈值设计)
  • 对于热点数据的访问出现限流以后底层异常是什么?(ParamFlowException)
  • Sentinel 限流熔断、系统保护等规则默认是存储在哪里的?(内存)
  • Sentinel 限流熔断等规则是否支持持久化?(支持)
  • Sentinel 限流熔断规则为什么要持久化?(防止系统在重启以后规则数据调用)

    1. 进阶篇
  • Sentinel模式支持的持久化方式有哪些?(file,nacos,zk,redis, Apollo, consul)
  • Sentinel持久化的流控信息,在微服务客户端是如何获取的?(服务端推,客户端拉)
  • Sentinel持久化的流控信息,在生产环境一般推荐采用什么模式?(推模式,实时性比较好,缺陷是服务端压力会比较大,还有可能会产生消息堆积)
  • Sentinel 基于nacos的持久化的实现过程是怎样的?(依赖,数据源配置,nacos新建配置)
  • Nacos中存储sentinel流控信息的格式是什么?(JSON)

  1. Gateway网关设计
    1. 基础篇
  • 什么是网关?服务访问的一个入口,类似生活中的“海关“
  • 为什么使用网关?(服务安全,统一服务入口管理,负载均衡,限流,鉴权)
  • Spring Cloud Gateway 应用的初始构建过程(添加依赖,配置)
  • Gateway 服务的启动底层是通过谁去实现的?(Netty)
  • Gateway 服务做请求转发时一定要在注册中心进行注册吗?
  • 网关层面是如何实现负载均衡的?(通过服务名去查找具体的服务实例)
  • 网关层面是如何通过服务名查找服务实例的?(Ribbon)
  • 你了解Ribbon中的哪些负载均衡算法?(轮询,权重,hash,…..)
  • 网关进行请求转发的流程是怎样,有哪些关键对象?
  • 网关层面服务的映射方式怎样的?(断言-path,服务名/服务实例)
  • 网关层如何记录服务的映射?(通过map,并要考虑锁的应用) 
  • 何为谓词?(网关中封装了判断逻辑的一个对象)
  • 谓词逻辑的设计是怎样的?(谓词判断逻辑返回值为true则进行请求转发)
  • 你了解哪些谓词逻辑?(path,请求参数,ip,请求方式,cookie,请求头,….)

    1. 进阶篇
  • 我们可以自己定义谓词工厂对象吗?(可以的)
  • 网关层面结合sentinel实现限流,其限流的类型有几种?(两种-route id,api)
  • 网关层面可以自定义限流后的异常处理结果吗?(可以)
  • 你知道Sentinel底层限流的算法有哪些?(滑动窗口,令牌桶,漏斗,。。。)

  1. Zipkin 链路追踪
    1. 基础篇
  • 为什么要进行链路监控?(及时发现问题、找到问题并解决问题)
  • 你了解市场那些链路监控产品?(zipkin/skywalking)
  • Zipkin 进行链路监控时有什么缺陷吗?(性能问题,监控数据的设计需要更详细一些)

    1. 进阶篇
  • Zipkin进行链路监控的的底层原理是怎样的?

  1. 总结(Summary)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值