Nacos简介

本文详细介绍了Nacos,一个轻量级的服务发现、配置管理和元数据管理平台,其特点包括基于DNS和RPC的健康检查、动态配置、动态DNS服务以及与Eureka的对比,强调了Nacos的非侵入性、高可用性和一致性维护机制,特别是使用Raft协议带来的优势。
摘要由CSDN通过智能技术生成

1.什么是Nacos:Nacos主要用于发现,配置和管理服务。Naocs提供了一套简单的易用的特性,快速动态的实现服务发现,服务配置,服务元数据以及流量管理。

Nacos特性:

    1.Nacos是基于DNS和RPC的服务发现:Naocs提供对服务的实时健康检查,阻止想不健康的主机或服务实例发送请求。Naocs支持传输层(Ping或者TCP)和应用层(HTTP,MYSQL,用户自定义)的健康检查。Naocs提供了agent上报方式和服务端主动检测两种健康检测模式。

    2.动态配置服务:动态配置服务可以让您以中心化,外部化和动态化的方式管理所有的环境的应用配置和服务配置。动态配置消除了配置变更时重新部署服务和应用的需求。

    3.动态DNS服务:动态DNS服务支持权重路由,让您更容易的实现中间层负载均衡,耿灵活的路由策略,流量的控制和数据中心内网的简单的DNS解析服务。

    4.服务及其元数据的管理

nacos的config和server是在一起的,客户端可以通过配置server-addr和config-addr来注册服务和配置交由nacos管理。

nacos官网:Java SDK

    

    nacos属于外部应用,侵入性小,ACP原则遵循:CP原则(一致性和分隔容忍性)和AP原则(可用性和分隔容忍性)

    支持dubbo,SpringCloud,K8S集成,访问协议:HTTP,动态DNS,UDP;支持血崩保护。

    

    eureka:直接集成到应用中,依赖于应用自身完成服务的注册和发现。

    ACP原则:遵循AP(可用性和分隔容忍性),只支持springcloud部署。访问协议为HTTP,支持雪崩保护,

CAP理论:

    Consistency(一致性):保证所有节点在同一时间内访问的数据一致

    Availability(可用性):保证每个请求不管成功或者失败都有响应

    Partition Tolerance(分隔容忍性):系统中任意信息的丢失或者失败不会影响系统的继续运作。

为什么没有CA:因为想要保持数据同步会花费时间消耗资源,所以他的可用性就会大幅度降低。

1.与eureka相比:eureka2.0之后就闭源了,并且nacos的注册实例数大于eureka,nacos实用的是raft协议,所以nacos集群一致性要大于eureka集群一致性,

raft协议:

1.存在两个时期:选举期和任职期

1.选举期:会在所有的跟随者通过选举的方式来产生候选者,如果没有任何一个候选者将会一直来进行选举,当然是有策略来保证会产生候选者

2.任职期:候选者竞选出领导者后,会一直像其他的follower(跟随者)发送心跳包,如果领导者不发送了,那么所有的跟随者进入选举期,如果一直发送心跳包,那么理论上是无限期一直为领导者;

2、一致性保持:所有节点是通过日志形式来传递指令的,只有当集群中的领导者接收到请求后,commit状态为未完成,他会向所有的跟随者发送日志,所有跟随者会执行这个日志复制,来保持和leader一致,并在完成后和上报给leader,修改状态为完成;当领导者接收到了n/2+1的follower的消息时才会更新commit状态;

领导者会每隔一段时间向所有的跟随者发送一个心跳指令,来维持自己的统治,但是当领导者宕机后,所有得跟随者会变为候选者,并将自己的current加一,

Raft 一致性协议完整解析 - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毛毛的毛毛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值