阿里Nacos系列——为什么要选择Nacos和Nacos的基础概念(持续更新)

前言

本系列是从头开始进行学习Nacos的相关知识,从相关概念到业务开发等等。本篇是第一篇,主要了解下Nacos的基础信息,方便大家技术选型。

入门篇:阿里Nacos系列——为什么要选择Nacos和Nacos的基础概念
入门篇:阿里Nacos系列——Nacos的核心概念
搭建篇:阿里Nacos系列——Nacos安装教程(带图–手把手教学)
搭建篇:阿里Nacos系列——(超详细、带图带源码)Nacos注册中心的搭建与测试

1 为什么要用Nacos

1.eureka 2.0闭源码了

2.开箱即用,上手简洁,暂时也没发现有太大的坑

3.nacos使用的raft协议,nacos集群的一致性要远大于eureka集群

4.因为nacos功能更加丰富,社区更加活跃

5.背靠国内大厂(经受双十一的考验),中英文文档

6.界面美观

Raft 的数据一致性策略

Raft 协议强依赖 Leader 节点来确保集群数据一致性。即 client 发送过来的数据均先到达 Leader 节点,Leader 接收到数据后,先将数据标记为 uncommitted 状态,随后 Leader 开始向所有 Follower 复制数据并等待响应,在获得集群中大于 N/2 个 Follower 的已成功接收数据完毕的响应后,Leader 将数据的状态标记为 committed,随后向 client 发送数据已接收确认,在向 client 发送出已数据接收后,再向所有 Follower 节点发送通知表明该数据状态为committed。

对比图

Nacos与Eureka详细对比图

在这里插入图片描述

Nacos与各种注册中心产品对比图
功能特点NacosEurekaConsulCoreDNSZookeeper
一致性协议CP+APAPCPCP
健康检查TCP/HTTP/MYSQL/Client BeatClient BeatTCP/HTTP/gRPC/CmdKeep Alive
负载均衡策略权重/ metadata/SelectorRibbonFabioRoundRobin
雪崩保护
自动注销实例支持支持不支持不支持支持
访问协议HTTP/DNSHTTPHTTP/DNSDNSTCP
监听支持支持支持支持不支持支持
多数据中心支持支持支持不支持不支持
跨注册中心同步支持不支持支持不支持不支持
SpringCloud集成支持支持支持不支持不支持
Dubbo集成支持不支持不支持不支持支持
K8S集成支持不支持支持支持不支持

ps: 简单来说,NB就完事了

2 什么是Nacos

Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。(配置中心、注册中心)

官方说明:Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

官方网址:http://nacos.io

2.1 服务发现

动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,您可以更容易地为您的服务实现断路器。

描述主要开发者状态
服务注册与发现nkorange稳定
健康检查(服务端探测、客户端心跳)xuanyin稳定
路由策略(权重、保护阈值、就近访问)wangjianwei稳定

2.2 配置管理

动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易

描述主要开发者状态
配置管理(发布、修改、查询、监听配置)yanlinly稳定
灰度配置yanlinly稳定
加密配置不支持

3 Nacos的特点

易于使用
  • 动态配置管理、服务发现和动态的一站式解决方案
  • 20多种开箱即用的以服务为中心的架构特性
  • 基本符合生产要求的轻量级易用控制台
更适应云架构
  • 无缝支持Kubernetes和Spring Cloud
  • 在主流公共云上更容易部署和运行(例如阿里云和AWS)
  • 多租户和多环境支持
生产等级
  • 脱胎于历经阿里巴巴10年生产验证的内部产品
  • 支持具有数百万服务的大规模场景
  • 具备企业级SLA的开源产品
丰富的应用场景
  • 支持限流、大促销预案和异地多活
  • 直接支持或稍作扩展即可支持大量有用的互联网应用场景
  • 流量调度和服务治理

4 现已支持的客户端

描述主要开发者状态
Java客户端Nacos稳定
Go客户端atlanssia, lzp0412稳定
Node.js客户端czy88840616, gxcsoccer稳定
Python客户端sanweibeta
C#客户端catcherwong推荐
C++客户端
PHP客户端
Spring客户端chuntaojun稳定
SpringBoot客户端chuntaojun稳定

5 总结

  • Nacos = Spring Cloud注册中心 + Spring Cloud配置中心。
  • Nacos是阿里开源的,Nacos 支持基于 DNS 和基于 RPC 的服务发现
  • Nacos只需要简单的配置就可以完成服务的注册发现。
  • Nacos还支持动态配置服务,可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置
  • nacos功能更加丰富,社区更加活跃,背靠国内大厂(经受双十一的考验),中英文文档,界面美观。
  • 10
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值