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 # 设置为非临时实例(永久实例)
相关推荐
songcream113 小时前
Spring Boot资料整理
java·spring boot·后端
源码宝13 小时前
新一代医院信息系统云HIS,多租户共享,java版HIS+EMR+LIS全套源码
java·大数据·源码·云his·his系统·源代码·医院信息系统
iiiiyu13 小时前
面向对象高级接口的综合案例
java·开发语言·数据结构·编程语言
fzil00113 小时前
让 AI 自己协作 —— 多智能体(Swarm)系统的设计与实现
java·开发语言·人工智能·ubuntu
鬼蛟13 小时前
springcloud
后端·spring·spring cloud
Mem0rin13 小时前
[Java/数据结构]二叉树练习题几则
java·开发语言·数据结构
lhbian13 小时前
PHP vs Java vs Go:编程语言终极对比
java·spring boot·后端·kafka·linq
java修仙传13 小时前
从手写 Redis 锁到 Redisson:我对分布式锁安全性的理解
java·数据库·redis·分布式
iiiiyu13 小时前
常用API(Object类 & Objects类)
java·开发语言
小碗羊肉13 小时前
【从零开始学Java | 第三十六篇】字符流
java·开发语言