【第四阶段面试题】微服务(Nacos,Sentinel,Gateway)

Day01 微服务简介

1.核心知识点

  • 微服务架构诞生的背景(软件即服务,将一个大型的软件,拆成若干个小系统,分而治之)
  • 微服务架构解决方案(大厂基本自研,自己研发各种组件,Spring Cloud Netflix,Alibaba)
  • 微服务架构下Maven聚合项目的创建方式(Maven聚合项目 资源复用:extends,import,简化编译,打包,部署方式)
  • 微服务架构中聚合工程之间的引用设计(将一个工程作为依赖添加到其他的工程)

2.常见问题分析

  • 为什么需要微服务?(对系统分而治之,解决因为并发访问过大带来的系统复杂性(例如:业务,开发,测试,升级,可靠性)
  • 微服务设计的特点(单一职责,独立进程,开发测试效率高,可靠性高,升级难度小,但是会带来一定的维护成本)
  • 微服务解决方案有哪些(大厂自研,中小型企业采用开源Spring Cloud Alibaba,Spring Cloud Netfix等)
  • 微服务设计中需要哪些关键组件(服务的注册与发现,配置,限流降级,访问入口管理,分布式事务管理等等)
  • 创建聚合工程的目的(实现工程之间资源的共享,简化工程管理)
  • maven工程中build元素的作用(定义项目的编译方式,打包方式)
  • maven父工程的packing元素内的值是什么(父工程默认打包方式为pom方式)
  • maven父工程中dependencyManagement元素的作用是什么(项目依赖的版本,当前工程或子工程不需要再指定版本)
  • maven父工程中如何统一定义JDK编译和运行的版本(配置maven编译插件:maven-compiler-plugin)

Day02 Nacos注册中心入门

1.核心知识点

  • 服务中心诞生的背景(服务多了,需要统一的管理)
  • 服务注册中心的选型(社区活跃度,稳定性,功能,性能,学习成本)
  • 基于nacos实现服务的注册(添加依赖,服务配置,启动服务并检查)
  • 基于RestTemplate实现服务的简易调用(服务消费方调用服务提供方)

2.常见问题分析

  • 如何理解服务注册中心(存储服务信息的一个服务)
  • 服务注册中心诞生的背景(服务多了,需要对服务进行更好的管理)
  • 市场上常用的配置中心(Zookeeper,Eureka,Nacos,Consul)
  • 如何对注册中心进行选型(社区活跃度,稳定性,功能,性能,学习成本)
  • nacos是什么(是Alibaba公司基于SpringBoot技术实现的一个注册中心,本质上也是一个web服务)
  • nacos的基本架构(Client/Server架构)
  • nacos主要提供了什么核心功能(服务的注册,发现,配置)
  • nacos服务单机模式,window平台下启动时的指令是什么(startup.cmd -m standalone)
  • 实现nacos服务注册需要添加什么依赖(两个:web,discovery)
  • 实现nacos服务注册时,必须做哪些配置(服务名,假如是本机服务注册刻意省略服务地址)
  • nacos如何检查服务的状态(通过心跳包实现,服务启动时会定时向nacos发送心跳包-BeatInfo)
  • 服务之间进行服务调用时,使用什么API(RestTemplate,用此对象之前要先创建这个对象并交给Spring去管理)

3.面试题

  • 为什么要将服务注册到nacos(为了更好地查找这些服务)
  • 在nacos中服务的提供者是如何向nacos注册中心续约的(5秒心跳)
  • 对于nacos服务来讲他是如何判定服务实例的状态(检测心跳包,15,30)
  • 服务的消费方是如何调用服务提供方的服务的(RestTemplate)
  • @Bean注解的作用(一般用于配置类的内部,描述相关的方法,用于告诉spring此方法的返回值要交给spring去管理,bean的名字默认为方法名,加入需要指定名字可以@Bean("bean"的名字),最多的应用场景是整合第三方的资源-对象)
  • @Autowired注解的作用(此注解用于描述属性,构造方法,set方法等,用于告诉spring
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nacos、OpenFeign、GatewaySentinel都是微服务架构中常用的开源工具。 Nacos(Naming and Configuration Service)是一个动态服务发现、配置管理和服务治理平台。它提供了服务注册和发现、配置管理和动态路由等功能,使得微服务架构中的各个服务能够自动注册并通过服务名进行发现。通过Nacos,我们可以方便地进行服务的注册与发现,以及实时更新配置信息。 OpenFeign是一个基于Java的声明式服务调用客户端。它内置了Ribbon和Hystrix,可以自动处理服务的负载均衡和容错。通过使用注解和接口代理,OpenFeign可以简化服务间的调用,在代码中只需要定义接口和方法的声明,而无需手动实现具体的服务调用逻辑。 Gateway是一个高性能的API网关,用于将外部客户端的请求路由到后端的不同服务。通过配置路由规则和过滤器链,Gateway可以完成请求的转发并进行相应的处理。它具有动态路由、请求限流、熔断降级、安全认证等功能,可以提高系统的可靠性和稳定性。 Sentinel是一个流量控制和流量治理框架,用于实现对微服务架构中各个服务的流量控制和实时监控。它提供了实时的监控、熔断降级、系统保护和流量统计等功能,并且具备高度可扩展性。通过使用Sentinel,我们可以对服务的流量进行实时监控和管理,保证系统的稳定性和可靠性。 综上所述,Nacos提供了服务发现和配置管理,OpenFeign简化了微服务间的调用,Gateway实现了高性能的API网关,Sentinel用于流量控制和治理。这些工具的结合使用可以帮助我们构建可靠、稳定的微服务架构,并提升系统的性能和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值