Nacos学习一(什么是nacos)

什么是nacos

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

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

Nacos 的关键特性包括:

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

为什么要用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模型
Nacos Eureka(闭源) Consul Zookeeper 一致性协议 CP或AP(支持自主选择) AP CP CP 健康检查 TCP/HTTP/MYSQL/Client Beat Client Beat TCP/HTTP/gRPC/Cmd Keep Alive 负载均衡策略 权重/metadata/Selector Ribbon Fabio — 雪崩保护 有 有 无 无 自动注销实例 支持 支持 支持 支持 访问协议 HTTP/DNS HTTP HTTP/DNS TCP 监听支持 支持 支持 支持 支持 多数据中心 支持 支持 支持 不支持 跨注册中心同步 支持 不支持 支持 不支持 SpringCloud集成 支持 支持 支持 支持 Dubbo集成 支持 不支持 支持 支持 K8S集成 支持 不支持 支持 不支持

界面美观

不得不说,阿里出品都挺好看的,挺符合开发者审美~~~

总结

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

参考与感谢

经验分享 程序员 微信小程序 职场和发展