1. 简介
官网:https://nacos.io/ 仓库:https://github.com/alibaba/nacos
一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
2. 设计原则
● 极简原则,简单才好用,简单才稳定,简单才易协作
● 架构一致性,一套架构要能适应开源、内部、商业化(公有云及专有云)3 个场景
● 扩展性,以开源为内核,商业化做基础,充分扩展,方便用户扩展
● 模块化,将通用部分抽象下沉,提升代码复用和健壮性
● 长期主义,不是要一个能支撑未来 3 年的架构,而是要能够支撑10年的架构
● 开放性,设计和讨论保持社区互动和透明,方便大家协作
3. 架构图
整体架构分为用户层、业务层、内核层和插件,用户层主要解决用户使用的易用性问题,业务层主要解决服务发现和配置管理的功能问题,内核层解决分布式系统一致性、存储、高可用等核心问题,插件解决扩展性问题。
4. 问题日志
- Nacos启动时报错 java.net.UnknownHostException: jmenv.tbsite.net
解决方案:
windows启动:
进入nacos bin文件夹下,命令行执行:startup.cmd -m standalone 单机启动
linux启动:
startup.sh -m standalone
- 访问nacos(版本2.2.3)无登录界面问题修复建议,配置登录信息
解决办法:
在conf目录下找到application.properties这个文件,将如下信息进行修改,然后重新启动,重新访问http://localhost:8848/nacos 就可以跳转到登录页面了
nacos.core.auth.enabled=true
nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:example}
nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_KEY:example}
nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey01234567890123456789012345345678999987654901234567890123456789}
-
nacos导入配置提示:导入失败 未读取到合法数据,请检查导入的数据文件。
a. 创建文件夹,命名为DEFAULT_GROUP,然后将配置文件放进去
b. 将修改的配置文件压缩成zip文件——上传配置文件。
Spring Cloud 整合 Nacos 的详细教程
添加依赖
在 Spring Cloud 的项目中,需要添加 Nacos 的相关依赖。在 Maven 项目中,可以在 pom.xml 文件中添加以下依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2023.0.1.2</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2023.0.1.2</version>
</dependency>
加载nacos配置
在 application.yml 或 application.properties 文件中,添加 Nacos 的服务发现配置:
spring:
application:
name: shop-manager
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
username: nacos
password: nacos
discovery:
server-addr: 127.0.0.1:8848
# namespace: shop-manager-namespace
group: DEFAULT_GROUP
file-extension: yaml
# data-id: application.yml
# refresh-enabled: true
config:
import: optional:nacos:application.yml
启动项目,成功加载