1062°

nacos入门-nacos简介与启动

什么是nacos

Nacos 是阿里巴巴的开源的项目,全称 Naming Configuration Service ,专注于服务发现和配置管理领域

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

官网地址

nacos总体概况

1341090-20191218131450236-1773026564.jpg

nacos架构

1561217775318-6e408805-18bb-4242-b4e9-83c5b929b469.png

为什么要用nacos

与eureka对比

对比项目\注册中心NacosEureka
CAP模型支持AP和CP模型AP模型
客户端更新服务信息使用注册+DNS-f+健康检查模式。 DNS-F客户端使用监听模式push/pull拉取更新信息客户端定时轮询服务端获取其他服务ip信息并对比,相比之下服务端压力较大、延迟较大
伸缩性使用Raft选举算法性能、可用性、容错性均比较好,新加入节点无需与所有节点互相广播同步信息由于使用广播同步信息,集群超过1000台机器后对eureka集群压力很大
健康检查模式/方式支持服务端/客户端/关闭检查模式,检查方式有tcp、http、sql。支持自己构建健康检查器客户端向服务端发送http心跳
负载均衡支持支持
手动上下线服务方式通过控制台页面和API通过调用API
跨中心同步支持不支持
k8s集成支持不支持
分组Nacos可用根据业务和环境进行分组管理不支持
权重Nacos默认提供权重设置功能,调整承载流量压力不支持

服务配置中心对比

对比项目/配置中心apollonacos
开源时间2016.52018.6
配置实时推送支持(HTTP长轮询1s内)支持(HTTP长轮询1s内)
版本管理自动管理自动管理
配置回滚支持支持
权限管理支持待支持
多集群多环境支持支持
监听查询支持支持
多语言Go,C++,Python,Java,.net,OpenAPIPython,Java,Nodejs,OpenAPI
分布式高可用最小集群数量Config2+Admin3+Portal*2+Mysql=8Nacos*3+MySql=4
配置格式校验支持支持
通信协议HTTPHTTP
数据一致性数据库模拟消息队列,Apollo定时读消息HTTP异步通知
单机读(tps)900015000
单机写(tps)11001800

相比与Eureka

(1)Nacos具备服务优雅上下线和流量管理(API+后台管理页面),而Eureka的后台页面仅供展示,需要使用api操作上下线且不具备流量管理功能。

(2)从部署来看,Nacos整合了注册中心、配置中心功能,把原来两套集群整合成一套,简化了部署维护

(3)从长远来看,Eureka开源工作已停止,后续不再有更新和维护,而Nacos在以后的版本会支持SpringCLoud+Kubernetes的组合,填补 2 者的鸿沟,在两套体系下可以采用同一套服务发现和配置管理的解决方案,这将大大的简化使用和维护的成本。同时来说,Nacos 计划实现 Service Mesh,是未来微服务的趋势

(4)从伸缩性和扩展性来看Nacos支持跨注册中心同步,而Eureka不支持,且在伸缩扩容方面,Nacos比Eureka更优(nacos支持大数量级的集群)。

(5)Nacos具有分组隔离功能,一套Nacos集群可以支撑多项目、多环境。

相比于apollo

(1) Nacos部署简化,Nacos整合了注册中心、配置中心功能,且部署相比apollo简单,方便管理和监控。

(2) apollo容器化较困难,Nacos有官网的镜像可以直接部署,总体来说,Nacos比apollo更符合KISS原则

(3)性能方面,Nacos读写tps比apollo稍强一些

启动nacos

你可以通过源码和发行包两种方式来获取 Nacos

从 Github 上下载源码方式

git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  
ls -al distribution/target/

// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin

下载编译后压缩包方式

您可以从 最新稳定版本 下载 nacos-server-$version.zip 包。

 unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
  cd nacos/bin

启动服务器

Linux/Unix/Mac 启动命令(standalone代表着单机模式运行,非集群模式):

sh startup.sh -m standalone

Windows 启动命令:

cmd startup.cmd

或者直接运行startup.cmd文件

360截图16300502555057.png

默认账号密码都是 nacos

nacos 默认是用的内置数据库


已有 0 条评论

    我有话说: