注册中心面试题大全

部署运行你感兴趣的模型镜像

注册中心面试题大全


目录

文档索引

面试题汇总

Q:注册中心是什么?为什么需要注册中心?

Q:注册中心是如何实现的?

Q:实例如何通过注册中心进行服务发现

Q:注册中心如何进行选型?


文档索引


面试题汇总

Q:注册中心是什么?为什么需要注册中心?

A:注册中心存储着所有服务实例的信息,实例启动时会将自己注册到注册中心中,方便其他实例通过注册中心获得该实例信息进行调用。

例如A服务调用B服务集群,此时A服务的实例需要知道B集群中有哪些实例是可调用的,就会通过注册中心获得B集群可调用实例信息,然后通过负载均衡策略选择实例调用,不需要在A服务实例中配置B集群的实例信息

注册中心带来的好处:

1、如上例子所示,方便服务的注册和发现,减少了服务的手工信息配置

2、通过注册中心的健康检查,及时过滤不可调用的实例

Q:注册中心是如何实现的?

A:注册中心通常提供有如下功能:服务注册、服务发现、健康检查与服务剔除、服务续约、服务自保、集群一致性

服务注册:服务启动时将自身实例信息发送给注册中心,注册中心将其记录至内存或进行持久化

服务发现:注册中心提供接口给实例调用,通过服务名返回可调用的实例集合

健康检查与服务剔除:注册中心会对实例进行健康检查,对其中不健康的实例进行剔除

服务续约:服务一般通过心跳的方式向注册中心发送,表明自身的健康状态,注册中心接收后对服务实例进行续约

服务自保:注册中心会对不健康的实例进行剔除,但当服务下大量的实例被剔除,超出设定的阈值,注册中心将不再剔除,保证服务有实例可调用

集群一致性:注册中心集群对外一致性分强一致性(CP),最终一致性(AP)

Q:实例如何通过注册中心进行服务发现

A:服务列表的通知方式主要有三种(push、pull、long pull)

push: 注册中心主动推送服务列表数据给客户端

pull:客户端轮询从注册中心获取服务列表数据

long pull:客户端发起请求后,服务端不会立即返回请求结果,而是将请求挂起等待一段时间,如果此段时间内服务端数据变更,立即响应客户端请求,若是一直无变化则等到指定的超时时间后响应请求,客户端重新发起长链接

Q:注册中心如何进行选型?

A:注册中心目前常用的有Spring Cloud Eureka、Zookeeper、Nacos、Consul

注册中心-选型_九八婆婆的博客-优快云博客

您可能感兴趣的与本文相关的镜像

Wan2.2-I2V-A14B

Wan2.2-I2V-A14B

图生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

在准备与注册中心相关的面试问题时,以下是一些常见的问题及其解答: ### 3.1 注册中心的基本概念 注册中心(Service Registry)是微服务架构中的核心组件之一,用于管理服务的注册与发现。当服务启动时,它会将自己的元数据(如IP地址、端口等信息)注册到注册中心;其他服务可以通过注册中心查找并调用这些已注册的服务。 ### 3.2 常见的注册中心有哪些? 常见的注册中心包括: - **Eureka**:由Netflix开发,主要用于AWS环境中的服务发现。 - **Consul**:由HashiCorp开发,支持多数据中心的服务发现和配置共享。 - **Zookeeper**:由Apache开发,最初用于Hadoop项目,后来广泛应用于分布式系统的协调服务。 - **Etcd**:由CoreOS开发,是一个分布式的键值存储系统,常用于服务发现和配置共享。 - **Nacos**:由阿里巴巴开源,支持动态服务发现、配置管理和服务管理。 ### 3.3 注册中心的工作原理 注册中心的工作原理通常包括以下几个步骤: 1. **服务注册**:服务提供者在启动时向注册中心发送注册请求,包含自身的元数据。 2. **健康检查**:注册中心定期对已注册的服务进行健康检查,确保其可用性。 3. **服务发现**:服务消费者通过注册中心获取所需服务的实例列表,并根据负载均衡策略选择一个实例进行调用。 4. **服务注销**:当服务停止或出现故障时,注册中心会将其从服务列表中移除。 ### 3.4 注册中心的选择因素 选择注册中心时需要考虑的因素包括: - **一致性要求**:是否需要强一致性(如Zookeeper)还是最终一致性(如Eureka)。 - **高可用性**:注册中心本身的高可用性和容错能力。 - **性能**:注册和发现的速度以及吞吐量。 - **易用性**:配置和维护的复杂度。 - **生态系统支持**:与其他工具和服务的集成能力。 ### 3.5 如何实现服务的自动注册与发现? 实现服务的自动注册与发现通常涉及以下步骤: 1. **服务注册**:服务提供者在启动时自动向注册中心注册自己的元数据。 2. **心跳机制**:服务提供者定期向注册中心发送心跳信号,表明自己仍然在线。 3. **服务发现**:服务消费者通过注册中心获取所需服务的实例列表,并根据负载均衡策略选择一个实例进行调用。 ### 3.6 示例代码:使用Spring Cloud Eureka实现服务注册 ```java // 服务提供者的主类 @SpringBootApplication @EnableEurekaClient public class ServiceProviderApplication { public static void main(String[] args) { SpringApplication.run(ServiceProviderApplication.class, args); } } // application.yml配置文件 server: port: 8080 spring: application: name: service-provider eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值