目录
简介:
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自动化部署