大家好,欢迎来到IT知识分享网。
前言
主要从以下几点来家熟悉下 Nacos
- Nacos 是什么
- Nacos 的发展历程
- Nacos 能做什么
- Nacos 无缝接入各大生态
1.Nacos 是什么
Nacos 是什么?好像没听过,不要紧。那 Eureka 听说过吧,在 SpringCloud 中做服务注册中心组件,类似的还有 Zookeeper、Consul。
所以 Nacos 也是一个注册中心组件,当然,不过它不仅仅是注册中心。
Nacos 也是一个配置中心,比如 SpringCloud 中的 Config,将配置文件版本化管理。
那么 Nacos 到底是什么呢,总结为官网一句话就是:
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
2.Nacos 的发展历程
首先要说 Nacos 的发展历程就要从阿里巴巴的内部产品 ConfigServer 说起了,因为 Nacos 是 ConfigServer 的开源实现
早在 2008 年阿里就开始服务化的进程 (那个时候我好像还在上初中啊),在那个时候阿里内部自研的服务发现解决方案就叫做 ConfigServer
ConfigServer 经历了十年的发展从 V1.0 的单机版演变为目前对外公布的 V4.0 集群版。
2018 年 7 月阿里巴巴高级技术专家许真恩(慕义)发布了 Nacos 首个开源版本 V0.1.0,Nacos 作为 ConfigServer 的开源实现截止目前已经更新到了 V1.0.1 的大版本,并且支持大规模生产版本。
3.Nacos 能做什么
虽然官方文档也有介绍,但是语言比较官方,我就用大白话谈一点自己的使用感受。
-
服务注册发现和服务健康检测
Nacos 支持基于 DNS 和基于 RPC 的服务发现,服务端可以通过 SDK 或者 Api 进行服务注册,相应的服务消费者可以使用 DNS 或者 Http 查找的方式获取服务列表。Nacos 同时提供对服务的实时健康检查,阻止想不健康的主机或服务发送请求,与 Eureka 类似 Nacos 也有友好的控制台界面。
-
动态配置服务
接触过 SpringCloud 应该对 config 有所了解,那么配置中心也就很好理解,Nacos 支持动态的配置管理,将服务的配置信息分环境分类别外部管理,并且支持热更新。不过与 Config 不同 Nacos 的配置信息存储与数据库中,支持配置信息的监听和版本回滚。
-
动态 DNS 服务
支持权重路由,更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单 DNS 解析服务。不过这个特性目前版本还不支持
-
服务及元数据管理
Nacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。
4.Nacos 无缝接入各大生态
首先先上一张官方的生态图
除了对于阿里开源生态体系如 Dubbo 等自身的支持,也非常强调融入其它的开源生态,这里就包括 Java 的微服务生态体系 Spring Cloud,Kubernetes/CNCF 云原生生态体系。
Nacos 无缝支持 Spring Cloud,为 Spring Cloud 用户其提供更简便的配置中心和注册中心的解决方案。
Nacos 支持目前几乎所有主流的微服务生态体系。
5.总结
Nacos 从官方的介绍上看,就像是 SpringCloud 中 Eureka+Config+Bus+Git+MQ 的一个结合体,当然也不能完全这么理解。Nacos 是脱胎于阿里内部的 ConfigServer,而 ConfigServer 早在 3.0 版本就解决了 Eureka 在 1.0 版本留下的隐患,所以从技术的更新和迭代角度来看,稳定版本的 Nacos 将更适合做为微服务体系中的服务注册发现组件,当然了他也不单单只是注册和发现。更多的特性和功能,不如一起搭建试试吧。
6.参考资料
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21693.html