Nacos常规问题

Nacos是什么

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

Nacos如何支持多环境

在日常使用中常常需要不同的环境,比如日常,预发,线上环境,如果是逻辑隔离可以使用命名空间,Nacos支持命名空间来支持多环境隔离,可以在Nacos控制台创建多个命名空间。如果需要物理隔离需要部署多套Nacos环境

Nacos是否生产可用

Nacos在2019.1发布了Pre-GA版本,支持了安全隔离、监控和服务迁移等上生产的最后一公里,以更稳定的支撑用户的生产环境。具体详情Nacos 发布 v0.8.0 Pre-GA 版本,安全稳定上生产

Nacos版本计划

Nacos 0.8.0 开始支持生产可用,1.0版本达到大规模生产可用,2.0版本计划与K8s、Spring Cloud、Service Mesh、Serverless进一步融合,具体的详情参考Nacos规划

Nacos有什么依赖

在单机模式下,Nacos没有任何依赖,在集群模式下,Nacos依赖Mysql做存储,详情可以参考Nacos部署

Nacos使用什么开源协议

Nacos使用 Apache 2.0

Nacos运维问题

Nacos如何单机部署

可以参考Nacos官网部署手册 quick start

Nacos单机部署如何使用mysql

Nacos单机模式默认使用内嵌的数据库作为存储引擎,如果想换成自己安装的mysql,可以按照 官网文档

生产环境如何部署Nacos

生产环境使用Nacos为了达到高可用不能使用单机模式,需要搭建nacos集群,具体详情可以参考 集群部署手册

Nacos如何Docker部署

除了使用压缩包部署Nacos,Nacos也提供了相应的Docker镜像,当Nacos发布新的版本的时候,Nacos会发布对应的镜像版本支持Docker部署。具体详情可以参考Nacos Docker

如何在k8s中部署Nacos

在生产环境部署Nacos集群,如果要对Nacos进行扩容操作,需要手动更改集群ip文件,启动新的Nacos服务。为了能进行自动化运维,Nacos和k8s结合利用StatefulSets提供了自动运维方案,能对Nacos进行动态扩缩容,具体详情参考Kubernetes Nacos

如何监控Nacos

Nacos0.8版本提供了Metrics数据暴露能力,能通过Metrics数据的内容对Nacos的运行状态进行监控,详情参考Nacos监控

Nacos使用问题

Zookeeper上的服务可以迁移到Nacos上吗?

可以通过Nacos-Sync把Zookeeper服务迁移到Nacos,也可以从Nacos迁移到Zookeeper,具体可以参考Nacos Sync 使用

Nacos支持多配置文件

Nacos通过Spring Cloud Alibaba Nacos Config支持了多配置文件,可以将配置存储在多个独立的配置文件中。关联的issue,详情参考文档Spring Cloud Alibaba Nacos Config

Nacos支持Dubbo

Nacos 0.6版本和Dubbo集成,支持使用Nacos作为注册中心,关联issue,具体文档参考Dubbo 融合 Nacos 成为注册中心

Nacos支持Spring体系

Nacos完善支持了Sping技术栈,具体可以参考Nacos SpringNacos Spring BootSpring Cloud

不使用Nacos SDK如何访问Nacos

Nacos的网络交互都是基于Http协议实现的,提供了Open-API可以很容易实现Nacos的访问

Nacos对多语言的支持

Nacos目前只支持Java,对于其他语言的支持还正在开发中,需要大家大力支持一起共建

Nacos0.8版本登陆失败

Nacos 0.8版本当使用openjdk并且没有JAVA_HOME的环境变量时,nacos可以启动成功,是因为yum install安装的openjdk 会把java命令注册一份到/bin目录下面,所以会引发SignatureException异常。这个问题已经修复,0.9版本会发版,具体详情可以参考issue

服务端报错java.lang.IllegalStateException: unable to find local peer: 127.0.0.1:8848

这个问题是因为Nacos获取本机IP时,没有获取到正确的外部IP.需要保证InetAddress.getLocalHost().getHostAddress()或者hostname -i的结果是与cluster.conf里配置的IP是一致的.

Nacos如何对配置进行加密

Nacos计划在1.X版本提供加密的能力,目前还不支持加密,只能靠sdk做好了加密再存到nacos中

Nacos报401错误

Nacos服务端报错了,可以检查服务端日志,参考issue

Nacos权重不生效

Nacos控制台上编辑权重, 目前从SpringCloud客户端和Dubbo客户端都没有打通, 所以不能生效. 对于SpringCloud客户端, 应用可以实现Ribbon的负载均衡器来进行权重过滤.

Nacos如何扩缩容

目前支持修改cluster.conf文件的方式进行扩缩容, 改完后无需重启, Server会自动刷新到文件新内容.

Nacos原理问题