02-Nacos和Eureka的区别与联系

Nacos和Eureka的区别

联系

Nacos和Eureka整体结构类似: 都支持服务注册, 服务拉取, 采用心跳方式对服务提供者做健康监测的功能

区别

Nacos支持服务端主动检测服务提供者状态: 临时实例采用心跳模式,非临时实例采用主动检测模式但对服务器压力比较大(不推荐)

  • 心跳模式: 服务提供者会每隔一段时间(默认30秒)向Eureka/Nacos服务端发送心跳请求用来报告自己的健康状态
  • 主动检测模式: Nacos服务端支持主动检测服务提供者判断是否宕机

Nacos支持服务列表变更的消息推送模式可以让缓存的服务列表更新更及时

  • Nacos集群默认采用AP方式, 当集群中存在非临时实例时采用CP模式, 而Eureka一直采用AP方式

服务注册到Nacos时,可以通过在配置文件添加spring.cloud.nacos.discovery.ephemeral配置选择将服务实例注册为临时或非临时实例

  • 临时实例(默认的类型): 采用心跳检测判断是否宕机,如果该实例宕机超过一定时间就会从服务列表剔除
  • 非临时实例(永久实例): Nacos主动询问判断是否宕机,即使该实例宕机也不会从服务列表剔除,只会把其标记为不健康状态
YML 复制代码
# 在oreder-service模块的applicaition.yml配置文件中将oreder-service服务注册为永久实例
spring:
  cloud:
    nacos:
      discovery:
        ephemeral: false # 设置为非临时实例(永久实例)
相关推荐
行者全栈架构师43 分钟前
Maven dependency:tree 的 8 个高级用法
java·后端
行者全栈架构师5 小时前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
秋播5 小时前
国内本地WSL2编译rancher源码
云原生
令人头秃的代码0_05 小时前
mac(m5)平台编译openjdk
java
唐青枫1 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马1 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261351 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户3721574261351 天前
Java 打印 Word 文档:从基础打印到高级设置
java
小猿姐2 天前
MySQL Top 10 热点问题 AI 运维实战:从内核诊断到云原生运维
mysql·云原生·aiops
用户3521802454752 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程