Nacos学习一(什么是nacos)

什么是nacos

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

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

Nacos 的关键特性包括:

  • 服务发现和服务健康监测
  • 动态配置服务
  • 动态 DNS 服务
  • 服务及其元数据管理

在这里插入图片描述
在这里插入图片描述

以上数据来源nacos官网

为什么要用nacos

功能优势

Nacos = 注册中心 + 配置中心。
在这里插入图片描述
nacos社区非常活跃,最近也比较高产,Nacos功能和需求列表可以看到目前nacos的功能以及规划排期的功能

历史原因

市场上的注册中心(eureka、zookeeper、consul等)出现比较早,nacos都是从前者参考后做出来,比前者更加丰富。

主流产品对比

在nacos之前,我们一般会选择zookeeper、eureka、consul等,nacos出来之后,会逐渐迁移到nacos(身边的小伙伴已经陆陆续续地切换到nacos去了),这也会是一个大的趋势。

  • zookeeper是基于CP模型,leader+follower,leader写,同步到follower,follower可以读,保证顺序一致性,就是基本尽量保证到数据一致(弱一致),主动进行数据同步。当leader崩溃的时候,为了保证数据一致性,尽量减少读到不一致的数据的情况,这时候会进行选举,以及做数据同步,但是集群会短暂的不可用。
  • eureka是基于AP模型,peer-to-peer,每个节点能写也能读,每个节点都要同步给其他节点,不过是异步同步,所以随时读任意一个节点时都有可能读到不一样的数据,任何一个节点宕机,其他节点不会受到影响,都能正常工作,极高可用性,但是数据一致性太弱。
  • Consul基于raft算法的CP模型
  • Nacos基于raft算法的CP模型,同时也支持配置成类似eureka的AP模型
NacosEureka(闭源)ConsulZookeeper
一致性协议CP或AP(支持自主选择)APCPCP
健康检查TCP/HTTP/MYSQL/Client BeatClient BeatTCP/HTTP/gRPC/CmdKeep Alive
负载均衡策略权重/metadata/SelectorRibbonFabio
雪崩保护
自动注销实例支持支持支持支持
访问协议HTTP/DNSHTTPHTTP/DNSTCP
监听支持支持支持支持支持
多数据中心支持支持支持不支持
跨注册中心同步支持不支持支持不支持
SpringCloud集成支持支持支持支持
Dubbo集成支持不支持支持支持
K8S集成支持不支持支持不支持

以上表格来源于微服务:注册中心ZooKeeper、Eureka、Consul 、Nacos对比

界面美观

不得不说,阿里出品都挺好看的,挺符合开发者审美~~~
在这里插入图片描述

总结

建议大家未来还是使用nacos(不正式使用的话私下玩玩也挺不错的),因为nacos功能更加丰富,社区更加活跃,背靠国内大厂(经受双十一的考验),中英文文档,界面美观。

参考与感谢

nacos官网
微服务:注册中心ZooKeeper、Eureka、Consul 、Nacos对比


版权声明:本文为qq_27185561原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。