什么是nacos
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。
Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式)的服务基础设施。
使用Nacos组件可以作为微服务架构的注册中心和配置中心,可以简单理解为可以代替Netflix解决方案中的Eureka组件和Spring Cloud Config组件。
Nacos官方地址:https://nacos.io/zh-cn/index.ht
主要功能
- 动态配置服务
动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。
- 服务发现及管理
动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,您可以更容易地为您的服务实现断路器。
- 动态DNS服务
通过支持权重路由,动态DNS服务能让您轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单DNS解析服务。动态DNS服务还能让您更容易地实现以DNS协议为基础的服务发现,以消除耦合到厂商私有服务发现API上的风险。
安装Nacos
Nacos下载地址:https://github.com/alibaba/nacos/releases 截止目前最新版本为:1.1.4
下载之后解压进入到bin目录执行启动命令:
sh startup.sh -m standalone
命令参数中-m表示模式mode,standalone表示启动的是单机版模式,windows用户可以使用该命令启动Nacos: cmd startup.cmd -m standalone
也可以在项目的bin目录下,手动点击startup.cmd 脚本启动。
执行启动命令之后可以查看到启动日志:tail -fn 200 /home/server/nacos/logs/start.out
Nacos是一个用Java语言编写的web项目,Tomcat默认端口是8848,访问8848端口可以打开Nacos管理台。
默认用户名和密码都是nacos
Nacos管理台菜单包含了四大部分:
配置管理(管理配置中心)
服务管理(管理注册中心)
命名空间
集群管理
安装nacos遇见问题
1、报错 db.num is null
报错信息: java.io.IOException: java.lang.IllegalArgumentException: db.num is null
首先:创建一个名为 nacos 的数据库,在 nacos/conf 目录下找到 nacos-mysql.sql 文件,打开文件执行 nacos-mysql.sql 脚本里的 sql 。
其次:修改 application.properties 文件里的 mysql 配置,修改为自己的数据库连接
2、 内部Tomcat无法启动。
报错内容: nable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
引发报错的原因的是问题,nacos默认的是集群模式启动,所以报错。
解决方案:修改 nacos/bin 目录下的 startup.cmd 文件,修改为单机模式,默认是集群模式。
原默认是 cluster 修改为 standalone