3、Nacos 基础入门:安装、启动与控制台初探
好,咱们正式开始接触 Nacos 了。
说实话,我第一次接触 Nacos 是在一个微服务改造的项目里。当时团队还在用 ZooKeeper 做配置管理,每次改个配置都要重启服务,搞得大家怨声载道。后来换了 Nacos,嗯,真香。
这一章,我带大家把 Nacos 跑起来,看看它到底长什么样。
3.1 环境准备与安装
Nacos 依赖 Java 环境。我个人习惯用 JDK 1.8+,太老的版本可能会有兼容问题。
安装方式有两种:
- 源码编译:适合想研究源码的同学
- 下载发行包:咱们生产环境常用的方式
我建议新手直接下载编译好的包。去 Nacos 的 GitHub Release 页面,找到最新稳定版,下载 nacos-server-xxx.tar.gz 或 nacos-server-xxx.zip。
解压后,目录结构是这样的:
nacos/
├── bin/ # 启动脚本
├── conf/ # 配置文件
├── data/ # 数据存储(默认用内嵌数据库)
├── logs/ # 日志
└── target/ # 启动类
嗯,这里要注意:conf/application.properties 是核心配置文件。如果你要改端口、数据库连接,都在这里改。
3.2 启动与验证
启动很简单。Linux/Mac 下执行:
sh bin/startup.sh -m standalone
Windows 下执行:
bin\startup.cmd -m standalone
-m standalone 表示单机模式。生产环境一般用集群模式,咱们学习阶段用单机就够了。
启动成功后,控制台会输出类似这样的日志:
Nacos started successfully in stand alone mode. use external storage
这时候打开浏览器,访问 http://localhost:8848/nacos,就能看到登录页面了。
nacos。我第一次登录时还愣了一下,这也太简单了吧?嗯,生产环境记得改密码。
3.3 控制台初探
登录进去后,你会看到 Nacos 的控制台。我把它分成几个核心区域:
| 区域 | 功能 |
|---|---|
| 左侧菜单 | 配置管理、服务管理、命名空间等 |
| 配置列表 | 展示所有配置项,支持搜索和过滤 |
| 服务列表 | 展示注册的服务实例 |
| 命名空间 | 隔离不同环境或项目 |
说白了,左边是导航,中间是内容区。你点哪个菜单,右边就显示对应的内容。
我个人习惯先看「配置列表」。这里能看到所有已经发布的配置。你可以新建一个配置试试:
Data ID: example.properties
Group: DEFAULT_GROUP
配置内容:
user.name=zhangsan
user.age=25
点击发布后,这个配置就生效了。客户端可以通过 Nacos SDK 实时获取到。
3.4 命名空间与分组
这两个概念,我刚开始学的时候有点混淆。咱们捋一捋。
3.4.1 命名空间(Namespace)
命名空间用于隔离。你可以把它理解成一套独立的配置环境。
举个例子:
- 开发环境用一个命名空间
- 测试环境用一个命名空间
- 生产环境用一个命名空间
每个命名空间里,Data ID 和 Group 可以重复。因为它们属于不同的命名空间,互不影响。
我曾经在一个项目里,把开发和生产混在同一个命名空间里。结果有一次误操作,把生产配置改了,差点出事故。从那以后,我强制要求每个环境必须用独立的命名空间。
3.4.2 分组(Group)
分组是在同一个命名空间内,对配置做逻辑分类。
比如:
DEFAULT_GROUP:默认分组,放通用配置DATABASE_GROUP:数据库相关配置CACHE_GROUP:缓存相关配置
分组的作用,说白了就是方便管理。你想想看,如果几百个配置都堆在默认分组里,找起来多费劲。
3.5 实际操作:创建命名空间和分组
咱们动手试试。
在控制台左侧菜单,点击「命名空间」。你会看到一个列表,默认有一个 public 命名空间。
点击「新建命名空间」,输入:
- 命名空间ID:
dev - 命名空间名称:
开发环境
创建成功后,在配置列表的左上角,就能切换到 dev 命名空间了。
然后在这个命名空间下,新建一个配置:
Data ID: app.yml
Group: DATABASE_GROUP
配置内容:
spring:
datasource:
url: jdbc:mysql://localhost:3306/dev_db
username: dev_user
password: dev_pass
发布后,这个配置就只属于 dev 命名空间下的 DATABASE_GROUP 分组。
public。
3.6 本章小结
咱们这一章,把 Nacos 跑起来了,也看了控制台长什么样。重点记住三个东西:
- Data ID:配置的唯一标识
- Group:配置的分组,用于逻辑分类
- Namespace:命名空间,用于环境隔离
下一章,咱们会深入配置管理,看看客户端怎么动态获取配置。嗯,到时候我会分享一个线上事故,跟配置刷新有关,挺有意思的。
先到这,动手试试吧。