nacos看这一篇文章就够了
注册中心功能:类似于Dubbo或Spring Cloud的服务注册功能,方便实现服务的自动发现。 配置中心功能:提供统一的配置管理解决方案,支持动态配置更新。 服务管理功能:提供对服务的状态监控和健康检查能力。
发布日期:2025-04-19 00:45:18
浏览次数:16
分类:精选文章
本文共 3782 字,大约阅读时间需要 12 分钟。
Nacos简介与环境配置
第一章 Nacos简介
Nacos(阿里云开发者工具)是一款强大且灵活的服务发现、配置管理和服务管理平台。其主要功能包括:
Nacos官网地址:https://nacos.io/zh-cn/index.html
第二章 Nacos环境配置
Nacos的运行依赖Java环境,并且需要一些特定的软件安装。以下是安装前需要注意的事项:
依赖环境:
- Java 8.0及以上版本。
- Maven 3.2.x(推荐使用64位版本)。
操作系统要求:
- Linux/Unix/Mac:推荐使用Linux或Unix系统。
- Windows系统:支持但需注意性能优化。
安装步骤:
- 使用源码编译:
git clone https://gitee.com/mirrors/Nacos.git && cd Nacos/ && mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U。 - 也可以通过官方镜像直接下载安装包:https://github.com/alibaba/nacos/releases。
第三章 Nacos下载与安装
1.1 Nacos源码下载
- 使用Git克隆仓库:
git clone https://gitee.com/mirrors/Nacos.git。 - 进入项目目录并编译:
cd Nacos/ && mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U。 - 编译完成后,会在
distribution/target/目录下生成安装包nacos-server-2.0.3.tar.gz和nacos-server-2.0.3.zip。
1.2 Nacos安装
Linux/Unix/Mac:
- 进入安装目录:
cd /Nacos/distribution/target/nacos-server-2.0.3/nacos/bin/。 - 启动命令:
sh startup.sh -m standalone。 - 停止命令:
sh shutdown.sh。
- 进入安装目录:
Windows系统:
- 进入安装目录:
cd /Nacos/distribution/target/nacos-server-2.0.3/nacos/bin/。 - 启动命令:
startup.cmd -m standalone。 - 停止命令:
shutdown.cmd。
- 进入安装目录:
注意事项:
- Linux/Unix/Mac:可通过
netstat -ano | findstr 8080查找进程号,taskkill /F /PID命令即可杀死进程。 - Windows系统:默认杀死进程可通过命令
taskkill /F /PID。
- Linux/Unix/Mac:可通过
1.3 Nacos控制台访问
- 访问地址:启动日志中会显示控制台访问地址。
- 默认账号和密码:
admin/nacos。
第四章 Nacos配置管理
1.1 命名空间管理
命名空间介绍:用于管理不同环境(如测试、预发、生产)的服务和配置,支持定义环境特定的配置值。
创建和修改命名空间:可通过Nacos控制台或API进行操作。
1.2 配置管理
配置参数:
dataId:配置ID,采用package.class格式,确保全局唯一性。group:配置分组,建议使用产品名和模块名结合。timeoutMs:读取配置的超时时间。
动态配置更新:支持自动刷新和监听机制,确保配置实时生效。
第五章 Nacos配置管理(Java SDK使用)
1.1 Maven依赖
- 必要依赖:
com.alibaba.nacos nacos-client 2.0.3 com.google.guava guava 31.0.1-jre org.slf4j slf4j-log4j12 1.7.21
1.2 配置示例
@Testpublic void test01() throws NacosException { Properties properties = new Properties(); properties.put(PropertyKeyConst.SERVER_ADDR, "127.0.0.1:8848"); properties.put(PropertyKeyConst.NAMESPACE, "26df001f-7eaa-49eb-95fe-8a28f6acdb7e"); ConfigService configService = NacosFactory.createConfigService(properties); String config = configService.getConfig("tmall", "DEFAULT_GROUP", 3000); System.out.println(config);} 1.3 Spring集成
依赖配置:
com.alibaba.nacos nacos-spring-context 1.1.1 Nacos配置注解驱动:
@Configuration@EnableNacosConfig(globalProperties = @NacosProperties(serverAddr = "127.0.0.1:8848"))public class NacosConfiguration { @NacosPropertySource(dataId = "tmail", groupId = "DEFAULT_GROUP", autoRefreshed = true) // 配置内容}
第六章 Nacos高可用性
1.1 集群搭建
节点数量:至少3个节点。
安装步骤:
- 创建
nacos-cluster目录,并在其下创建nacos1、nacos2、nacos3目录。2.上传编译好的nacos-server-2.0.4.tar.gz到每个节点目录。 - 解压并修改配置文件,设置不同端口并配置集群节点信息。
启动命令:
sh startup.sh -p embedded
集群验证:登录任一节点,通过控制台操作配置,配置将自动同步到其他节点。
第七章 Nacos集群操作
1.1 Java SDK集群示例
@Testpublic void test01() throws NacosException { Properties properties = new Properties(); properties.put(PropertyKeyConst.SERVER_ADDR, "192.168.80.128:7777,192.168.80.128:8888,192.168.80.128:9999"); ConfigService configService = NacosFactory.createConfigService(properties); String config = configService.getConfig("tmail", "DEFAULT_GROUP", 3000); System.out.println(config);} 1.2 SpringBoot集群示例
在application.properties中配置:
nacos.config.server-addr=192.168.80.128:7777,192.168.80.128:8888,192.168.80.128:9999
第八章 Nacos一致性协议
1.1 CAP定理简介
CAP定理指出在分布式系统中,无法同时满足一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。Nacos在不同角色中采取不同的一致性策略:
- 注册中心:保证AP一致性。
- 配置中心:保证CP一致性。
1.2 Nacos一致性协议
- 注册中心:通过心跳机制和健康检查确保服务可用。
- 配置中心:采用多版本并发控制(MVCC)机制,确保读写一致性。
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2026年06月11日 21时26分12秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHP:第一章——PHP中常量和预定义常量
2023-02-28
PHP:第一章——PHP中的位运算
2023-02-28
phpcms
2023-02-28
phpcms 2008 product.php pagesize参数代码注射漏洞
2023-02-28
phpcms V9 自定义添加 全局变量{DIY_PATH}方法
2023-02-28
Redis五种核心数据结构的基本使用与应用场景
2023-02-28
PHPCMS多文件上传和上传数量限制
2023-02-28
phpEnv的PHP集成环境
2023-02-28
PHPExcel一些基本设置总结
2023-02-28
PHPExcel导入导出 若在thinkPHP3.2中使用(无论实例还是静态调用(如new classname或classname::function)都必须加反斜杠,因3.2就命名空间,如/c...
2023-02-28
PHPMailer发送邮件
2023-02-28
phpmailer发送邮件,可以带附件
2023-02-28
phpmyadmin 安装
2023-02-28
phpmyadmin数据库建表及插入
2023-02-28
phprpc简单使用
2023-02-28
phpstorm中Xdebug的使用
2023-02-28
phpstorm中使用svn版本控制器
2023-02-28
phpstorm配置php脚本执行
2023-02-28
PhpStorm配置远程xdebug
2023-02-28
phpStudy安装教程
2023-02-28