当前位置: 首页 > news >正文

面试打底稿② 专业技能的第二部分

简历原文

抽查部分

  • 比较熟悉Nacos、Feign、SpringCloud Gateway等微服务的使用,有实际上手项目使用的经验;
  • 基本掌握Linux常用命令,了解Linux系统管理、网络管理、生产环境等必用服务,了解Docker的使用,在博客中多有关于Linux操作系统的文章(获得8k阅读量)

模拟问答

1.你用的微服务5大组件是什么

我用的5大微服务组件如下:

  1. 注册中心/配置中心 Nacos
  2. 负载均衡 Ribbon
  3. 服务调用 Feign
  4. 服务保护 sentinel
  5. 服务网关 Gateway

2.说说Nacos作用的原理流程

在分布式系统架构中,分为了服务消费者、服务提供者和注册中心。三者的作用就不细说了。

首先服务提供者会去注册中心注册;

然后服务消费者在需要调用服务时,会去注册中心Nacos拉取信息;

拉取到信息后,会调用其选择的IRule规则,进行负载均衡;

最后这就完成了远程调用。

关于服务提供者的注册,提供者server会每隔一段时间向Nacos报告自己的状态,也就是所谓的心跳;

当Nacos一段时间没有感受到心跳后,Nacos就认为这个server死了,剔除其信息。

以上是对临时实例。对于非临时实例,Nacos会主动检测其状态,也不会在检测不到报告时剔除信息。

3.用过Eureka吗,说说Nacos和Eureka的区别

用过。区别如下:

  1. Nacos支持主动检测服务提供者的状态。对于临时实例,就采用原来的心跳模式;对于非临时实例,就采用主动检测的模式。
    临时实例检测不到心跳了,会被剔除;但非临时没了心跳,也不会剔除出注册列表。
  2. Nacos支持服务列表变更的消息推送模式,服务列表更新及时
  3. Nacos默认采取AP模式,集群中存在非临时实例则采用CP模式。

总结一下,Eureka采用AP模式,而Nacos默认是AP模式,也可以采用CP模式。

4.你用到过哪些负载均衡策略

我用到过Ribbon默认的负载均衡策略,ZoneAvoidanceRule,还有RandomRule、Nacos的NacosRule。这几个轮询的规则分别如下:

ZoneAvoidanceRule:区域优先,区域内做轮询。

RandomRule:随机选用。

NacosRule:集群优先,集群内做轮询。

另外,还有一些规则:

RoundRobinRule:纯轮询。

AvailabilityFilteringRule:忽略失联时间过长和并发数过多的服务器。

WeightedResponseTimeRule:根据权重值选择服务器。

BestAvailableRule:从并发数小的服务器开始选起。

RetryRule:根据重试机制选择。

当然还可以自定义负载均衡策略。方法就是:

自定义一个Bean,定义一个新的IRule;

或者在配置文件中,修改 服务名.ribbon.NFLoadBalancerRuleClassName后的全类名。

5.你用了日志吗,说说日志级别

用了。

Feign中调整feign.Logger.Level参数可以修改日志级别。分为4个级别:

  1. NONE:不记录。
  2. BASIC:仅记录请求的方法、URL和响应状态码、执行时间。
  3. HEADERS:之前的基础上额外记录请求和响应的头信息。
  4. FULL:记录所有,包括头信息、请求体和元数据。

还可设置全局生效和局部生效。

我使用的是BASIC级。

6.Linux你用的熟练吗,常用的命令有哪些

我还算比较熟练。我常用的命令有:

ls:查看文件夹下的文件、文件夹等

cd:切换文件夹

rm:移除文件、文件夹等

mkdir:创建文件夹

touch:创建文件

vim:用vim编辑器编辑文本

http://www.lryc.cn/news/175878.html

相关文章:

  • java 对mybatis拦截Interceptor进行权限控制(条件修改),入参修改,返回修改
  • 鲲鹏+麒麟v10 sp1 打包tomcat
  • 大屏大概是怎么个开发法(前端)
  • 什么是Selenium?使用Selenium进行自动化测试!
  • 第一章:最新版零基础学习 PYTHON 教程(第十七节 - Python 表达式语句–Python返回语句)
  • 前端碎知识点
  • 【Leetcode Sheet】Weekly Practice 7
  • leetcode Top100(23)回文链表
  • WebGL绘制圆形的点
  • 《The Rise and Potential of Large Language Model Based Agents: A Survey》全文翻译
  • 在线地图获取城市路网数据
  • 8.2 Jmeter if控制器使用
  • 科技云报道:青云科技打出“AI算力牌”,抢跑“云+AI”新增市场
  • 学习路之PHP--lumen安装配置
  • 【C++】构造函数和析构函数第一部分(构造函数和析构函数的作用)--- 2023.9.25
  • CocosCreator3.8研究笔记(二十一)CocosCreator Tween系统理解
  • 大数据学习-目录
  • 《动手学深度学习 Pytorch版》 7.5 批量规范化
  • Toaster - Android 吐司框架,专治 Toast 各种疑难杂症
  • 2023年9月26日,历史上的今天大事件早读
  • CListCtrl控件为只显示一列,持滚动显示其他,不用SetScrollFlags
  • spring博客实现分页查询
  • 代码阅读分析神器-Scitools Understand
  • 学霸吐血整理‼《2023 年 IC 验证岗面试真题解析》宝藏干货!
  • 稳定性、可靠性、可用性、灵活性、解耦性
  • docker搭建Redis三主三从
  • 亚马逊要求的UL报告的产品标准是什么?如何区分
  • 如何在linux定时备份opengauss数据库(linux核心至少在GLIBC_2.34及以上)
  • SkyWalking快速上手(七)——Skywalking UI 界面简介
  • python+vue驾校驾驶理论考试模拟系统