• Nacos注册中心细节分析


    Nacos注册中心细节分析(Nacos和Eureka的对比)

    在这里插入图片描述
    1.不管是哪个注册中心(Nacos或Eureka),两者的服务提供者在启动时都会把自己的信息提交给注册中心,注册中心会将收到的信息保留下来,当服务消费者需要消费时,就可以找注册中心要这个信息—定时拉取服务。
    2.消费者拉取之后,会将拉取到的信息存到缓存当中,作为服务列表缓存,列表会每隔30s拉取一次,保证服务提供的信息是正确的。
    3. 消费者拿到服务列表信息后,再进行负载均衡去调用服务提供者。
    4. 在Nacos中,nacos会将服务提供者划分成临时实例和非临时实例,默认情况下,所有的实例都为临时实例,临时实例采用心跳监测,在哪一天临时实例不跳了,nacos会将这个临时实例剔掉。非临时实例不会做心跳监测,而是由nacos主动发请求询问该实例是否还存在,如果不存在,会被标记为不健康,会等待该实例恢复健康。
    5. nacos会主动做消息推送,主动推送变更消息。Eureka是pull,而nacos是pull+push两者结合,每隔一段时间会去更新,假设有服务提供者的实例挂掉,会立即通知服务消费者,让消费者进行更新。

    临时实例和非临时实例

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

      cloud:
        nacos:
          server-addr: localhost:8848
          discovery:
            cluster-name: Hubei   #集群名称
            ephemeral: false  #是否是临时实例
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    临时实例宕机时,会从nacos的服务列表中剔除,而非临时实例则不会

    总结

    1. Nacos与eureka的共同点
      ①都支持服务注册和服务拉取
      ②都支持服务提供者心跳方式做健康检测
    2. Nacos与 Eureka的区别
      ①Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
      ②临时实例心跳不正常会被剔除,非临时实例则不会被剔除
      ③Nacos支 持服务列表变更的消息推送模式,服务列表更新更及时
      ④Nacos集群 默认采用AP方式,当集群中存在非临时实例时,采用CP模式; Eureka采用AP方式
  • 相关阅读:
    在Linux中lsof命令示例
    Redis主从同步
    Kafka接收消息
    HTML中的语义化标签
    机器学习强基计划0-4:通俗理解奥卡姆剃刀与没有免费午餐定理
    计算机操作系统笔记总结
    Day25 Python的文件操作和异常处理
    JDK源码解析-ConcurrentHashMap
    stm32HAL库-GPIO
    如何在windows下安装ray(install Ray under windows)
  • 原文地址:https://blog.csdn.net/chengxuyuan316/article/details/126230167