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 # 设置为非临时实例(永久实例)
相关推荐
平生不喜凡桃李20 小时前
C++ 异常
android·java·c++
SamDeepThinking20 小时前
用设计模式重构核心业务代码的一次实战
java·后端·设计模式
endcy201620 小时前
mybatis-plus多租户兼容多字段租户标识
java·mybatis-plus·多租户
李游Leo21 小时前
Redis 持久化与高可用实践(RDB / AOF / Sentinel / Cluster 全解析)
java·spring·bootstrap
mask哥21 小时前
详解mcp以及agen架构设计与实现
java·微服务·flink·大模型·ai agent·springai·mcp
Propeller1 天前
【Android】View 交互的事件处理机制
android·java
杨杨杨大侠1 天前
Atlas Mapper 教程系列 (5/10):集合映射与嵌套对象处理
java·开源·github
ERP老兵_冷溪虎山1 天前
Python/JS/Go/Java同步学习(第十三篇)四语言“字符串转码解码“对照表: 财务“小南“纸式转码术处理凭证乱码崩溃(附源码/截图/参数表/避坑指南)
java·后端·python
是2的10次方啊1 天前
如何设计10万QPS秒杀系统?缓存+消息队列+分布式锁架构实战
java
心灵宝贝1 天前
Tomcat Connectors 1.2.37 源码编译安装教程(mod_jk 详细步骤)
java·tomcat