微服务架构

 

###面试题分析


  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. 后基于这些算法从服务实例中获取一个实例为消费方法提供服务)
  10. Ribbon 是什么?(Netflix公司提供的负载均衡客户端,一般应用于服务的消费方法)
  11. Ribbon 可以解决什么问题? (基于负载均衡策略进行服务调用, 所有策略都会实现IRule接口)
  12. Ribbon 内置的负载策略都有哪些?(8种,可以通过查看IRule接口的实现类进行分析)
  13. @LoadBalanced的作用是什么?(描述RestTemplate对象,用于告诉Spring框架,在使用RestTempalte进行服务调用时,这个调用过程会被一个拦截器进行拦截,然后在拦截器内部,启动负载均衡策略。)
  14. 我们可以自己定义负载均衡策略吗?(可以,基于IRule接口进行策略定义,也可以参考NacosRule进行实现)
     

 


版权声明:本文为Y960481973原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。