当前位置:主页 > 查看内容

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

发布时间:2021-05-24 00:00| 位朋友查看

简介:前言 本系列是从头开始进行学习Nacos的相关知识从相关概念到业务开发等等。本篇是第一篇主要了解下Nacos的基础信息方便大家技术选型。 入门篇阿里Nacos系列——为什么要选择Nacos和Nacos的基础概念 1 为什么要用Nacos 1.eureka 2.0闭源码了 2.开箱即用上手简……

前言

本系列是从头开始进行学习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功能更加丰富,社区更加活跃,背靠国内大厂(经受双十一的考验),中英文文档,界面美观。
;原文链接:https://blog.csdn.net/ChengHuanHuaning/article/details/115518446
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐