SpringCloud - Nacos 服务注册中心面试题

    • 1. 为什么要将服务注册到nacos
    • 2. 在Nacos中服务提供者是如何向Nacos注册中心(Registry)续约的
    • 3. 对于Nacos服务来讲它是如何判定服务实例的状态
    • 4. 服务启动时如何找到服务启动注册配置类
    • 5. 服务消费方是如何调用服务提供方的服务的
    • 6. @Bean注解的作用
    • 7. @Autowired注解的作用
    • 8. Nacos中的负责均衡底层是如何实现的
    • 9. Ribbon 是什么
    • 10. Ribbon 可以解决什么问题
    • 11. Ribbon 内置的负载策略都有哪些
    • 12. @LoadBalanced的作用是什么
    • 13. 我们可以自己定义负载均衡策略吗
    • 14. 为什么使用feign
    • 15. @FeignClient注解的作用是什么
    • 16. Feign方式的调用,底层负载均衡是如何实现的
    • 17. @EnableFeignCleints 注解的作用是什么
    • 18. 何为注册中心
    • 19. 注册中心的核心对象
    • 20. 市面上常用注册中心

1. 为什么要将服务注册到nacos

  • 为了更好的查找这些服务

2. 在Nacos中服务提供者是如何向Nacos注册中心(Registry)续约的

  • 5秒心跳

3. 对于Nacos服务来讲它是如何判定服务实例的状态

  • 检测心跳包,15,30

4. 服务启动时如何找到服务启动注册配置类

  • NacosNamingService

5. 服务消费方是如何调用服务提供方的服务的

  • RestTemplate

6. @Bean注解的作用

  • 一般用于配置类内部,描述相关方法,用于告诉spring此方法的返回值要交给spring管理,bean的名字默认为方法名,假如需要指定名字可以@Bean(“bean的名字”),最多的应用场景是整合第三方的资源-对象

7. @Autowired注解的作用

  • 此注解用于描述属性,构造方法,set方法等,用于告诉spring框架,按找一定的规则为属性进行DI操作,默认按属性,方法参数类型查找对应的对象,假如只找到一个,则直接注入,类型多个时还会按照属性名或方法参数名进行值的注入,假如名字也不同,就出报错.

8. Nacos中的负责均衡底层是如何实现的

  • 通过Ribbon实现,Ribbon中定义了一些负载均衡算法,然后基于这些算法从服务实例中获取一个实例为消费方法提供服务

9. Ribbon 是什么

  • Netflix公司提供的负载均衡客户端,一般应用于服务的消费方法

10. Ribbon 可以解决什么问题

  • 基于负载均衡策略进行服务调用, 所有策略都会实现IRule接口

11. Ribbon 内置的负载策略都有哪些

  • 8种,可以通过查看IRule接口的实现类进行分析

12. @LoadBalanced的作用是什么

  • 描述RestTemplate对象,用于告诉Spring框架,在使用RestTempalte进行服务调用时,这个调用过程会被一个拦截器进行拦截,然后在拦截器内部,启动负载均衡策略。

13. 我们可以自己定义负载均衡策略吗

  • 可以,基于IRule接口进行策略定义,也可以参考NacosRule进行实现

14. 为什么使用feign

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

15. @FeignClient注解的作用是什么

  • 告诉Feign Starter,在项目启动时,为此注解描述的接口创建实现类-代理类

16. Feign方式的调用,底层负载均衡是如何实现的

  • Ribbon

17. @EnableFeignCleints 注解的作用是什么

  • 描述配置类,例如启动类

18. 何为注册中心

  • 用于记录服务信息的一个web服务,例如淘宝平台,滴滴平台,美团外卖平台,……

19. 注册中心的核心对象

  • 服务提供方,服务消费方,注册中心-Registry

20. 市面上常用注册中心

  • Google-Consul,Alibaba-Nacos,…

更多推荐

SpringCloud - Nacos 服务注册中心面试题