微服务篇之注册中心

一、eureka

1.eureka的作用

2.eureka工作流程

  1. 服务提供者和服务消费者向注册中心注册服务信息,然后注册中心记录了对应的服务器地址。

  2. 服务消费者从注册中心拉取服务提供者的信息。

  3. 通过负载均衡找到对应的服务提供者地址。

  4. 服务消费者远程调用对应的服务提供者。

  5. 其中,每个微服务都需要向注册中心定期发送心跳,防止服务宕机却不知道。

二、nacos

1.nacos的作用

三、面试题及回答

**面试官:**服务注册和发现是什么意思?Spring Cloud 如何实现服务注册发现?

**候选人:**我理解的是主要三块大功能,分别是服务注册 、服务发现、服务状态监控。

我们当时项目采用的eureka作为注册中心,这个也是spring cloud体系中的一个核心组件。

服务注册:服务提供者需要把自己的信息注册到eureka,由eureka来保存这些信息,比如服务名称、ip、端口等等。

服务发现:消费者向eureka拉取服务列表信息,如果服务提供者有集群,则消费者会利用负载均衡算法,选择一个发起调用。

服务监控:服务提供者会每隔30秒向eureka发送心跳,报告健康状态,如果eureka服务90秒没接收到心跳,从eureka中剔除。

**面试官:**我看你之前也用过nacos、你能说下nacos与eureka的区别?

**候选人:**我们当时xx项目就是采用的nacos作为注册中心,选择nacos还要一个重要原因就是它支持配置中心,不过nacos作为注册中心,也比eureka要方便好用一些,主要相同不同点在于几点:

  • 共同点

Nacos与eureka都支持服务注册和服务拉取,都支持服务提供者心跳方式做健康检测。

  • Nacos与Eureka的区别

①Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式

②临时实例心跳不正常会被剔除,非临时实例则不会被剔除。

③Nacos支持服务列表变更的消息推送模式,服务列表更新更及时。

④Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式。

相关推荐
Mike!2 分钟前
C++进阶 set和map讲解
java·开发语言·数据结构·c++·set·map·cpp
翔云1234563 分钟前
Go语言的垃圾回收(GC)机制的迭代和优化历史
java·jvm·golang·gc
不见长安见晨雾39 分钟前
将Java程序打包成EXE程序
java·开发语言
福大大架构师每日一题1 小时前
16.2 k8s容器基础资源指标讲解
云原生·容器·kubernetes·prometheus
周湘zx1 小时前
k8s中的微服务
linux·运维·服务器·微服务·云原生·kubernetes
逸狼1 小时前
【JavaEE初阶】多线程(5 单例模式 \ 阻塞队列)
java·开发语言
工业甲酰苯胺2 小时前
k8s 中的 Ingress 简介
云原生·容器·kubernetes
希忘auto2 小时前
Java之线程篇四
java
蓝黑20202 小时前
Java知识点小结3:内存回收
java·gc
Yz98762 小时前
Hadoop里面MapReduce的序列化与Java序列化比较
java·大数据·jvm·hadoop·分布式·mapreduce·big data