SpringCloud微服务:Nacos和Eureka的区别

目录

配置:

区别:

ephemeral设置为true时

ephemeral设置为false时(这里我使用的服务是order-service)

  1. Nacos与eureka的共同点

都支持服务注册和服务拉取

都支持服务提供者心跳方式做健康检测

  1. Nacos与Eureka的区别

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

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

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

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

配置:

服务注册到Nacos时,可以选择注册为临时或非临时实例,通过下面的配置来设置:

spring:

cloud :

nacos:

discovery:

ephemeral: false#设置为非临时实例

区别:

当我们 ephemeral设置为true时(默认就是true),把正在运行的服务关闭,nacos网站的服务队列在30秒内就会把该集群删掉

ephemeral设置为true时

java 复制代码
server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false
    username: root
    password: 1234
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: orderservice #order的微服务名称
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: HZ #集群名称
        namespace: 8279562b-ce89-420a-b765-f8b2adfdbe49 #命名空间id
        ephemeral: true #是否为临时实例
mybatis:
  type-aliases-package: cn.itcast.user.pojo
  configuration:
    map-underscore-to-camel-case: true
logging:
  level:
    cn.itcast: debug
  pattern:
    dateformat: MM-dd HH:mm:ss:SSS
#eureka:
#  client:
#    service-url: #eureka地址信息1
#      defaultZone: http://127.0.0.1:10086/eureka
userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule #负载均衡规则:随机。范围:userservice服务
ribbon:
  eager-load:
    enabled: true #开启饥饿加载
    clients:  #指定饥饿加载的服务
      - userservice

当服务开启状态时:

当服务关闭后30秒内:

集群被剔除了:

ephemeral设置为false时(这里我使用的服务是order-service)

java 复制代码
server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false
    username: root
    password: 1234
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: orderservice #order的微服务名称
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: HZ #集群名称
        namespace: 8279562b-ce89-420a-b765-f8b2adfdbe49 #命名空间id
        ephemeral: false #是否为临时实例
mybatis:
  type-aliases-package: cn.itcast.user.pojo
  configuration:
    map-underscore-to-camel-case: true
logging:
  level:
    cn.itcast: debug
  pattern:
    dateformat: MM-dd HH:mm:ss:SSS
#eureka:
#  client:
#    service-url: #eureka地址信息1
#      defaultZone: http://127.0.0.1:10086/eureka
userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule #负载均衡规则:随机。范围:userservice服务
ribbon:
  eager-load:
    enabled: true #开启饥饿加载
    clients:  #指定饥饿加载的服务
      - userservice

当服务开启状态时:

当服务关闭后30秒内(非临时变量很快就会有反应):

集群未被剔除:

代码文件点击下载https://pan.baidu.com/s/13bxrC2MIREUIroN-8pFJMQ?pwd=yr6m

上一篇:Nacos的集群、负载均衡、环境隔离

相关推荐
阿里云云原生12 小时前
阿里云微服务引擎 MSE 及 API 网关 2026 年 4 月产品动态
微服务·云原生
彩旗飘飘13 小时前
手把手教你用 Spring Cloud Alibaba 搭建毕设级微服务架构:从单体到分布式的完整演进实录
spring cloud·微服务
苍煜14 小时前
现代生产级微服务+容器治理完整技术栈与架构方案详解(国内主流完整云原生微服务闭环架构)
微服务·云原生·架构
邵奈一15 小时前
OrbStack 环境下 Dify 启动报错完整解决方案教程:validating docker-compose.yaml
docker·容器·eureka
sbjdhjd18 小时前
企业级 Docker 镜像仓库建设与运维规范
linux·运维·docker·云原生·容器·eureka·开源
Jul1en_20 小时前
【SpringCloud】Eureka、Nacos 简单概念笔记
笔记·spring cloud·eureka
Devin~Y20 小时前
大厂Java面试实战:Spring Boot/Cloud、Redis/Kafka、JVM调优与Spring AI RAG(内容社区UGC+AIGC客服场景)
java·jvm·spring boot·redis·spring cloud·kafka·mybatis
文慧的科技江湖20 小时前
零碳园区综合管理平台PRD需求文档 - 慧知开源充电桩平台
spring cloud·微服务·开源·能源·慧知开源光储充管理平台·慧知开源光储充管理系统·零碳园区管理平台
努力努力再努力wz20 小时前
【Redis 入门系列】为什么需要 Redis?一文串起缓存、分布式、读写分离、分库分表与微服务
数据库·redis·分布式·sql·mysql·缓存·微服务
团象科技21 小时前
当出海合规压力持续上升时,多云服务容易忽略哪些细节
大数据·微服务·架构