微服务(总): eureka与nacos的区别及心跳配置修改

目录

简介: 

1. nacos与eureka的区别

1.0 功能方面

1.1 连接方式不同

1.2 服务异常后多久剔除

1.2.1 eureka介绍: 

1.2.2 nacos介绍: 

1.3  操作的方式

1.3.1 nacos 专门的可视化界面(如图)

 1.3.2 eureka 比较简约(如图)

1.4 保护机制介绍

1.4.1 CAP原则简介:(取自百度)

1.4.2 eureka只要开启保护机制(AP) :

1.4.3  nacos自我保护机制 

-> 例子(服务雪崩 的原因): 

-> 设置阀值方式(如图):

2. 目录文章预告 :

->  nacos与eureka注册中心的相关微服务组件

-> eureka的基础配置与使用

-> eureka结合配置中心与rabbitmq实现配置刷新

-> springboot自带的监控使用方式

-> dubbo的使用方式

-> 服务链路监控zipkin和sleuth 

-> mysql集群部署与数据同步

-> mangoDB使用方式

-> rocketmq使用方式

-> elasticsearch 使用方式

-> logstash与kibana接入日志使用

-> kafka与其他mq的优势和劣势

-> docker+k8s实现集群部署

3. 微服务文章传送门

-> 服务远程调用的几种方式(feign等):

-> seata (AT)的配置及使用:

-> jenkins自动化部署:


简介: 

文章中会介绍到nacos与eureka的本质区别, 并且如何重新配置心跳, 自我保护机制, 

服务剔除规则, 以及二者如何保证CAP/AP的 微服务注册中心

文章末尾是微服务的常用功能服务目录及传送门

1. nacos与eureka的区别

1.0 功能方面

nacos是注册和配置中心一起

eureka是只有注册中心, 配置中心需要其他组件组合使用

1.1 连接方式不同

nacos: netty服务, 长连接与服务直连

eureka: 定时发送心跳给服务, 短连接

1.2 服务异常后多久剔除

1.2.1 eureka介绍: 

client 每30秒发送心跳 到 server, 90秒没有收到心跳 删除服务 

leaseRenewalIntervalInSeconds:30

leaseExpirationDurationInSeconds: 90

client:
    register-with-eureka:true #false表示不向注册中心注册
    fetch-registry:false   #false维护服务实例,不区域检索服务
    service-url:
        #集群指向其他的eureka
        #defaultZone:http://eureka1:2001/eureka #不搭律作群 单机指向自己
        defaultZone:http://eureka1:2001/eureka,http://eureka2:2002/eureka #集群
server:
    #关闭自我保护机制,保证不可用服务被即时别除
    enable-self-preservation:false
    #并将就认心线由X设置未30s
    eviction-interval-timer-in-ms:30000

 也就是一分半会删除服务 实际可能会更久,(例如ribbon的时间间隔加入)

1.2.2 nacos介绍: 

15秒未检测心跳 变成unhealthy状态  请求也是可以正常发送 报500

超过30秒nacos中的实例从concurrentHashMap中移除后, 再次请求就是503

spring:
  cloud:
    nacos:
      discovery:
        # 实例上报心跳间隔时间(毫秒)
        heart-beat-interval: 1000
        # 实例上报心跳超时时间(毫秒)
        heart-beat-timeout: 3000
        # 实例超时心跳被剔除时间(毫秒)
        ip-delete-timeout: 3000

ribbon:
  ServerListRefreshInterval: 
5000

1.3  操作的方式

1.3.1 nacos 专门的可视化界面(如图)

 1.3.2 eureka 比较简约(如图)

1.4 保护机制介绍

1.4.1 CAP原则简介:(取自百度)

分布式系统中 不可缺少的原则  C一致性 A 可用性 P分区容错性

1.4.2 eureka只要开启保护机制(AP) :

就是宁愿天下人负我 我不负天下人的状况, 不会删除任何服务

防止是服务端网络波动,延迟接收了心跳, 而客户端是正常使用. 导致大面积宕机问题

1.4.3  nacos自我保护机制 

所有服务都是临时服务, 不上报心跳就异常 一直不报就剔除,

但只要是触发保护机制, 就算是异常的服务也会发送请求分担其他服务压力

-> 例子(服务雪崩 的原因): 

假设10个服务 每个服务100qps 总请求量1000

这时候变成变成俩服务了  也就是每个服务将承受500qps  这俩幸存的服务也可能宕机

[防止了 服务雪崩]

-> 设置阀值方式(如图):

0-1 (健康实例/总实例)=保护阀值 常规 0.75-0.85

2. 目录文章预告 :

->  nacos与eureka注册中心的相关微服务组件

-> eureka的基础配置与使用

-> eureka结合配置中心与rabbitmq实现配置刷新

-> springboot自带的监控使用方式

-> dubbo的使用方式

-> 服务链路监控zipkin和sleuth 

-> mysql集群部署与数据同步

-> mangoDB使用方式

-> rocketmq使用方式

-> elasticsearch 使用方式

-> logstash与kibana接入日志使用

-> kafka与其他mq的优势和劣势

-> docker+k8s实现集群部署

3. 微服务文章传送门

-> 服务远程调用的几种方式(feign等):

feign远程调用yml配置,并解决显示服务不可用 timed-out and no fallback

-> seata (AT)的配置及使用:

 Seata AT 分布式事务以及配置方式(上篇)

-> jenkins自动化部署:

 jenkins自动化部署


 

猜你喜欢

转载自blog.csdn.net/pingzhuyan/article/details/131373837