0


Nacos和Eureka的区别

目录

  1. Nacos与eureka的共同点
    都支持服务注册和服务拉取
    都支持服务提供者心跳方式做健康检测
  2. Nacos与Eureka的区别
    Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
    临时实例心跳不正常会被剔除,非临时实例则不会被剔除
    Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
    Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式

配置:

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

spring:
cloud :
nacos:
discovery:
ephemeral: false#设置为非临时实例

区别:

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

ephemeral设置为true时

  1. server:
  2. port: 8080
  3. spring:
  4. datasource:
  5. url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false
  6. username: root
  7. password: 1234
  8. driver-class-name: com.mysql.jdbc.Driver
  9. application:
  10. name: orderservice #order的微服务名称
  11. cloud:
  12. nacos:
  13. server-addr: localhost:8848
  14. discovery:
  15. cluster-name: HZ #集群名称
  16. namespace: 8279562b-ce89-420a-b765-f8b2adfdbe49 #命名空间id
  17. ephemeral: true #是否为临时实例
  18. mybatis:
  19. type-aliases-package: cn.itcast.user.pojo
  20. configuration:
  21. map-underscore-to-camel-case: true
  22. logging:
  23. level:
  24. cn.itcast: debug
  25. pattern:
  26. dateformat: MM-dd HH:mm:ss:SSS
  27. #eureka:
  28. # client:
  29. # service-url: #eureka地址信息1
  30. # defaultZone: http://127.0.0.1:10086/eureka
  31. userservice:
  32. ribbon:
  33. NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule #负载均衡规则:随机。范围:userservice服务
  34. ribbon:
  35. eager-load:
  36. enabled: true #开启饥饿加载
  37. clients: #指定饥饿加载的服务
  38. - userservice

当服务开启状态时:

当服务关闭后30秒内:

集群被剔除了:

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

  1. server:
  2. port: 8080
  3. spring:
  4. datasource:
  5. url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false
  6. username: root
  7. password: 1234
  8. driver-class-name: com.mysql.jdbc.Driver
  9. application:
  10. name: orderservice #order的微服务名称
  11. cloud:
  12. nacos:
  13. server-addr: localhost:8848
  14. discovery:
  15. cluster-name: HZ #集群名称
  16. namespace: 8279562b-ce89-420a-b765-f8b2adfdbe49 #命名空间id
  17. ephemeral: false #是否为临时实例
  18. mybatis:
  19. type-aliases-package: cn.itcast.user.pojo
  20. configuration:
  21. map-underscore-to-camel-case: true
  22. logging:
  23. level:
  24. cn.itcast: debug
  25. pattern:
  26. dateformat: MM-dd HH:mm:ss:SSS
  27. #eureka:
  28. # client:
  29. # service-url: #eureka地址信息1
  30. # defaultZone: http://127.0.0.1:10086/eureka
  31. userservice:
  32. ribbon:
  33. NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule #负载均衡规则:随机。范围:userservice服务
  34. ribbon:
  35. eager-load:
  36. enabled: true #开启饥饿加载
  37. clients: #指定饥饿加载的服务
  38. - userservice

当服务开启状态时:

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

集群未被剔除:

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

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

下一篇:Nacos配置管理


本文转载自: https://blog.csdn.net/qq_63610563/article/details/134469939
版权归原作者 @katoumegumi 所有, 如有侵权,请联系我们删除。

“Nacos和Eureka的区别”的评论:

还没有评论