当前位置:网站首页>Nacos面试题
Nacos面试题
2022-08-02 16:35:00 【m0_67403013】
服务注册与调用入门
- 为什么要将服务注册到Nacos?(为了更好的查找这些服务)
- 在Nacos中服务提供者是如何向Nacos注册中心(Registry)续约的?(5秒心跳包)
- 对于Nacos来讲它是如何判断服务实例的状态?(检测心跳包 ,15,30)
- 服务消费方是如何调用服务提供方的服务的?(RestTemplate)
服务负载均衡设计及实现
- @Bean注解的作用?(一般用于配置类内部,描述相关方法,用于告诉spring此方法的返回值要交给spring容器管理,bean的名字默认为方法名,假如需要指定名字可以@Bean(“bean的名字”),最多的应用场景是整合第三方资源-对象)
- @Autowired注解的作用(此注解用于描述属性,构造方法,set方法等,用于告诉sprin框架,按照一定的规则为属性进行DI操作,默认按属性,方法参数类型查找对应的对象。假如只找到一个,则直接注入,类型多个时还会按照属性名或方法参数名进行值的注入,加入名字也不同,就会报错)
- Nacos中的负载均衡底层是如何实现的?(通过Ribbon实现,Ribbon中定义了一些负载均衡算法,然后基于这些算法从服务实例中获取一个实例为消费方法提供服务)
- Ribbon是什么?(Netflix公司提供的负载均衡客户端,一般应用于服务的消费方法)
- Ribbon可以解决什么问题?(基于负载均衡策略进行服务调用,所有策略都会实现IRule接口)
- Ribbon内置的负载均衡策略有哪些?(8种,可以通过查看IRule接口的实现类进行分析)
- @LoadBalanced的作用是什么?(描述RestTemplate对象,用于告诉spring框架,在使用RestTemplate进行服务调用时,这个调用过程会被一个拦截器进行拦截,然后在拦截器内部启动负载均衡策略)
- 我们可以自己定义负载均衡策略吗?(可以,基于IRule接口进行策略定义,也可以参考NacosRule进行实现)
基于Feign的远程服务调用
- 为什么使用feign?(基于Feign可以更加友好的实现服务调用,简化服务消费方对服务提供方方法的调用)
- FeignClient注解的作用是什么?(告诉Feign Starte,在项目启动时,为此注解描述的接口创建实现类-代理类)
- Feign方式的调用,,底层负载均衡是如何实现的?(Ribbon)
- EnableFeignClients注解的作用是什么?(描述配置类,例如启动类)
配置中心
- 什么是配置中心?(存储项目配置信息的一个服务)
- 为什么要使用配置中心?(集中管理配置信息,动态发布配置信息)
- 市场有哪些主流的配置中心?(Apollo,Nacos,…)
配置中心快速入门
- 配置中心一般都会配置什么内容?(可能会经常变化的配置信息,例如连接池,日志,线程池,限流熔断规则)
- 什么信息一般不会写到配置中心?(服务端口,服务名,服务的注册地址,配置中心)
- 项目中为什么要定义bootstrap.yml文件?(此文件被读取的优先级比较高,可以在服务启动时读取配置中心的数据)
- Nacos配置中心宕机了,我们的服务还可以读取到配置信息吗(可以从内存,客户端获取配置中心的配置信息以后,会将配置信息在本地存储一份)
- 微服务应用中我们的客户端如何从配置中心获取信息?(我们的服务一般会先从内存中读取配置信息,同时我们的微服务还可以定时向nacos配置中心发请求拉取(pull)更新的配置信息)
- 微服务应用中客户端如何感知配置中心的数据变化?(1.4.x版本以后nacos客户端会基于长轮询机制从nacos获取配置信息,所谓的长轮询就是没有配置更新时,会在nacos服务端的队列进行等待)
- 服务启动后没有从配置中心获取我们的配置数据是什么原因?(依赖,配置文件名字bootstrap.yml,配置中心的DataId名字是否正确,缩进关系是否正确,假如是动态发布,类上是否有@RefreshScope注解)
- 你项目中使用的日志规范是什么?(SLF4J)
- 你了解项目中的日志级别吗?(debug,info,error,可以基于日志级别控制日志的输出)
Nacos配置管理模型
- Nacos配置管理模型背景(环境不同,配置不同)
- Nacos配置中的管理模型是怎样的?(namespace,group,service/data-id)
- Nacos客户端是否可以读取共享配置?(可以)
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 在idea中创建web项目_idea部署web项目
- Detailed explanation of the principle of JWT_The principle of electromagnetic induction
- 数据中台应该怎样规划与建设?_光点科技
- sql2008 database suspicious solution _sqlserver2008 database suspicious
- 金仓数据库KingbaseES安全指南--6.12. BSD身份验证
- DevOps开发工具对比
- 小心 transmittable-thread-local 的这个坑
- 研发了 5 年的时序数据库,到底要解决什么问题?
- julia系列1:介绍与安装
- 尚硅谷尚品项目汇笔记(三)
猜你喜欢
随机推荐
跨境电商看不到另一面:商家刷单、平台封号、黑灰产牟利
【无标题】
JZ81 调整数组顺序使奇数位于偶数前面(二)-相对位置变化
js商品总价格、最高价格商品、排除重复商品[初版]
“蔚来杯“2022牛客暑期多校训练营4 E - Jobs (Hard Version)
带你了解MySQL数据库
FPGA 20个例程篇:10.遍历DDR3内存颗粒读写循环校验
融云「 IM 进阶实战高手课」系列直播上线
制胜精细化运营时代 华为应用市场打出内容、场景、商业运营组合拳
let块级作用域,var变量提升
Locking and Concurrency Control (2)
sql2008数据库置疑的解决方法_sqlserver2008数据库可疑
一文搞懂│php 中的 DI 依赖注入
2022 年值得尝试的 7 个 MQTT 客户端工具
julia系列3:函数、模块与宏
1.NVIDIA Deepstream开发指南中文版--欢迎使用 DeepStream 文档
【二】TS基本类型
QACTION_QA百科
常用软件静默安装参数
JZ21 调整数组顺序使奇数位于偶数前面(一)-相对位置变化