首页 > 其他分享 >SpringCloudAlibaba:从0搭建一套快速开发框架-03 Nacos下载及使用

SpringCloudAlibaba:从0搭建一套快速开发框架-03 Nacos下载及使用

时间:2025-01-17 08:59:16浏览次数:3  
标签:COMMENT 03 varchar DEFAULT Nacos nacos NULL SpringCloudAlibaba id

序言:上篇安装了Docker并运行MySql5.7,本篇主要介绍Nacos的下载以及使用

Nacos简介

Nacos(Dynamic NAming and COnfiguration Service)是阿里巴巴开源的一款集服务发现、配置管理和动态 DNS 服务于一体的解决方案,广泛用于微服务架构。Nacos 支持分布式系统中的动态配置和服务管理,旨在帮助用户构建云原生应用。

核心功能

  1. 服务发现与健康检查
    • 服务发现:Nacos 支持基于 DNS 和基于 RPC 的服务发现,客户端可以通过 Nacos 注册和发现服务的地址和元数据。
  2. 动态配置管理
    • 配置集中管理:Nacos 提供集中化的配置管理功能,可以动态更新配置,减少应用因配置变更而导致的停机时间。
    • 实时配置更新:通过推送机制,实时向客户端推送配置变更,提高系统灵活性和稳定性。
  3. 动态 DNS 服务
    • Nacos 支持 DNS 服务,为内部和外部服务提供统一的域名管理和服务发现,便于微服务的动态扩展和管理。
  4. 服务管理与治理
    • 元数据管理:管理服务的元数据,包括服务实例、分组等。
    • 流量管理:支持负载均衡、路由等功能,可以根据需求调整流量分配。

主要特点

  • 简化服务治理:Nacos 提供易于使用的服务治理功能,支持多种协议的服务发现和注册。
  • 可视化控制台:提供直观的控制台,方便用户管理和监控服务及配置。
  • 高可用性和集群模式:Nacos 支持集群部署,保障系统的高可用性和数据一致性。

使用场景

  1. 微服务架构中的服务发现:在微服务架构中,服务实例可能动态变化,Nacos 提供可靠的服务发现机制,确保服务的动态注册和发现。
  2. 配置管理:在分布式系统中,配置的集中管理和实时更新是关键,Nacos 提供高效的配置管理和分发功能。
  3. 流量管理和负载均衡:Nacos 支持自定义流量路由和负载均衡策略,帮助优化系统性能。

Nacos 是一款强大的服务治理平台,尤其适用于微服务架构,帮助企业提升分布式系统的弹性和灵活性。通过服务发现、配置管理和动态 DNS 功能,Nacos 简化了应用开发和运维的复杂性。

下载与启动

下载

可访问Nacos官网进行下载,版本:2.2.1

官网链接:点击前往
GitHub地址:点击前往
2.2.1下载地址:点我下载

下载之后找一个文件夹解压,我这里是:J:\cloud-components

我这里将nacos文件夹命名为nacos-2.2.1

解压之后打开nacos-2.2.1/conf,找到mysql-schema.sql

使用Navicat创建数据库(哪个数据库工具都可以,我这里使用Navicat)

create database nacos charset = utf8;

右键数据库选择运行SQL文件,然后选择刚才的mysql-schema.sql

运行完毕的表

在这里插入图片描述

如果找不到这个SQL文件,我这里将内容贴上去了

/*
 * Copyright 1999-2018 Alibaba Group Holding Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info   */
/******************************************/
CREATE TABLE `config_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) DEFAULT NULL,
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `c_desc` varchar(256) DEFAULT NULL,
  `c_use` varchar(64) DEFAULT NULL,
  `effect` varchar(64) DEFAULT NULL,
  `type` varchar(64) DEFAULT NULL,
  `c_schema` text,
  `encrypted_data_key` text NOT NULL COMMENT '秘钥',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_aggr   */
/******************************************/
CREATE TABLE `config_info_aggr` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
  `content` longtext NOT NULL COMMENT '内容',
  `gmt_modified` datetime NOT NULL COMMENT '修改时间',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_beta   */
/******************************************/
CREATE TABLE `config_info_beta` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `encrypted_data_key` text NOT NULL COMMENT '秘钥',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_tag   */
/******************************************/
CREATE TABLE `config_info_tag` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_tags_relation   */
/******************************************/
CREATE TABLE `config_tags_relation` (
  `id` bigint(20) NOT NULL COMMENT 'id',
  `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
  `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `nid` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`nid`),
  UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = group_capacity   */
/******************************************/
CREATE TABLE `group_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = his_config_info   */
/******************************************/
CREATE TABLE `his_config_info` (
  `id` bigint(20) unsigned NOT NULL,
  `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `data_id` varchar(255) NOT NULL,
  `group_id` varchar(128) NOT NULL,
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL,
  `md5` varchar(32) DEFAULT NULL,
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `src_user` text,
  `src_ip` varchar(50) DEFAULT NULL,
  `op_type` char(10) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `encrypted_data_key` text NOT NULL COMMENT '秘钥',
  PRIMARY KEY (`nid`),
  KEY `idx_gmt_create` (`gmt_create`),
  KEY `idx_gmt_modified` (`gmt_modified`),
  KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = tenant_capacity   */
/******************************************/
CREATE TABLE `tenant_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';


CREATE TABLE `tenant_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `kp` varchar(128) NOT NULL COMMENT 'kp',
  `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
  `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
  `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
  `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
  `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
  `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';

CREATE TABLE `users` (
	`username` varchar(50) NOT NULL PRIMARY KEY,
	`password` varchar(500) NOT NULL,
	`enabled` boolean NOT NULL
);

CREATE TABLE `roles` (
	`username` varchar(50) NOT NULL,
	`role` varchar(50) NOT NULL,
	UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);

CREATE TABLE `permissions` (
    `role` varchar(50) NOT NULL,
    `resource` varchar(255) NOT NULL,
    `action` varchar(8) NOT NULL,
    UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);

INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

修改数据库连接

打开nacos-2.2.1\conf目录下的application.properties文件进行编辑

需要修改的配置

db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=你的MySql用户名
db.password.0=你的MySql密码

请将数据库地址、端口、用户名、密码修改为个人的

启动Nacos

编辑nacos-2.2.1\bin目录下的startup.cmd

修改为单机模式

set MODE="standalone"

保存并退出,双击startup.cmd启动Nacos

后台运行Nacos

每次打开Nacos都需要前台运行,很麻烦,使用此命令使Nacos后台运行

Window点击开始,搜索PowerShell

指令:

Start-Process -WindowStyle hidden -FilePath "J:\cloud-components\nacos-2.2.1\bin\startup.cmd"

需要将J:\cloud-components\nacos-2.2.1\bin\startup.cmd替换为自己的nacos启动文件路径

至此,Nacos下载运行完毕

使用

浏览器访问 http://localhost:8848/nacos进入Nacos控制台

初始账号:nacos
初始密码:nacos

出现此界面表示启动成功
在这里插入图片描述

注册应用到Nacos

简单创建一个项目进行测试,这里我就创建system服务,后面这个服务也会用到。

创建命名空间

在Nacos管理控制台点击左侧的命名空间菜单,创建一个新的命名空间,我这里起名为shine,可随意

在这里插入图片描述

完成之后会有一个命名空间ID,后面会用到

在这里插入图片描述

创建system服务

右键shine-service(或者你自己的service模块)创建一个shine-system-service(模块名称随意)

注意!注意!注意!这里的父项要选择service模块

在这里插入图片描述

添加Nacos相关依赖

<dependencies>
	<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bootstrap</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
</dependencies>

添加配置文件bootstrap.yml

文件内容如下:

nacos:
  server-addr: 127.0.0.1:8848
  username: nacos
  password: nacos
  namespace: 7a315776-c8ed-4a70-be9c-2d60debde2e8
  group: DEFAULT_GROUP
spring:
  application:
    name: system-service
  cloud:
    nacos:
      discovery:
        server-addr: ${nacos.server-addr}
        username: ${nacos.username}
        password: ${nacos.password}
        namespace: ${nacos.namespace}
        group: ${nacos.group}

这里的namespace需要换成刚才在Nacos控制台创建的自己的命名空间ID

在sec/main/java下创建包:com.shine.system(后面所有模块基础命名皆为com.shine.*,可随意)
com.shine.system包下创建SpringBoot启动类SystemApplication

@SpringBootApplication
@EnableDiscoveryClient
@ComponentScan(basePackages = { "com.shine" })
public class SystemApplication {

    public static void main(String[] args) {
        SpringApplication.run(SystemApplication.class, args);
    }

}

@EnableDiscoveryClient:启用Nacos注册中心(客户端)
@SpringBootApplication:启动类
@ComponentScan(basePackages = { “com.shine” }):扫描包

打开Nacos控制台,左侧菜单选择服务管理>服务列表,选择刚才创建的命名空间

出现如下内容,表示服务注册成功
在这里插入图片描述

至此,Nacos的下载运行以及将服务注册到Nacos已完成。

标签:COMMENT,03,varchar,DEFAULT,Nacos,nacos,NULL,SpringCloudAlibaba,id
From: https://blog.csdn.net/m0_56441750/article/details/145188196

相关文章

  • day03循环基础编程练习
    1.汽车牌照号码由字母和数字随机组成,长度为5位随机的字母和数字组合,可以通UUID.randomUUID().toString()产生。每次产生后,由用户决定是否继续产生?(Y/N),如果输入Y后,则继续生成;如果用户输入N,程序结束。packagehomework;/*●汽车牌照号码由字母和数字随机组成,长度为5位●......
  • P1042 [NOIP2003 普及组] 乒乓球
    [NOIP2003普及组]乒乓球题目背景国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中111111分制改革引起了很大的争议,有......
  • Linux基础03:用户相关操作 + 用户组相关操作 + 权限管理
    主要内容用户相关操作用户组相关操作权限管理用户和用户组基础1.计算机通过用户名和密码识别用户。2.Linux中新建用户后,需要设置密码。3.系统有一个特殊的用户root,这个被称为超级用户,一般会默认。4.用户组:把几个用户归在一起,这样的组被称之为用户组,规定文件所属用户组......
  • [Babel] Intro Babel - 03. CLI
    CLI关于babel所提供的CLI,你可以在https://babeljs.io/docs/babel-cli看到所有所支持的CLI命令。要使用CLI命令,首先第一步是安装:pnpmadd--save-dev@babel/core@babel/cli注意在安装@babel/cli这个包的时候,需要同时安装@babel/core这个包,这个包是提供babel......
  • ModuleNotFoundError: No module named 'cv2'
    前言运行 python3req.py 文件时遇到:ModuleNotFoundError:Nomodulenamed'cv2'原因是:环境中缺少 cv2 的包,所以会出现 Nomodulenamed'cv2’ 的问题。cv2 的包名并不叫 cv2 ,所以使用 pipinstallcv2 不能安装。cv2 的包名叫 opencv-python ,使用以下命令即......
  • Flutter使用FractionallySizedBox组件报错Failed assertion: line 2164 pos 12: 'hasS
    这里从解决方法那里直接给出个有效的方式。就是如果你使用了FractionallySizedBox组件,第一是这个组件只能在固定宽高下或者Row,Flex,Column组件下使用。第二就是这个组件需要在Flexible下使用.结构就是:Row->Flexible->FractionallySizedBox给出简单的代码示例......
  • 解决CTS CtsVideoTestCases 的android.video.cts.VideoEncoderDecoderTest#testHevcOt
    平台:高通的C6490,android13测试项:TestResultDetailsandroid.video.cts.VideoEncoderDecoderTest#testHevcOther0Perf0320x0240failjunit.framework.AssertionFailedError:Expectedachievableframeratesforc2.qti.hevc.encodervideo/hevc320x240:[480.0,53......
  • STM32F103使用flash_algo解析FLM相关
    1、全局区(.bss段和.data段)根据实际情况修改2、栈顶地址根据实际情况修改/*FlashOSRoutines(AutomagicallyGenerated)*Copyright(c)2009-2015ARMLimited*/#include"flash_blob.h"//代码区flash_code[]使用JLINK/STLINK等放到RAM,一般是0x20000000staticconst......
  • Asp .Net Core 实现微服务:集成 Ocelot+Nacos+Swagger+Cors实现网关、服务注册、服务发
    什么是Ocelot?Ocelot是一个开源的ASP.NETCore微服务网关,它提供了API网关所需的所有功能,如路由、认证、限流、监控等。Ocelot是一个简单、灵活且功能强大的API网关,它可以与现有的服务集成,并帮助您保护、监控和扩展您的微服务。以下是Ocelot的一些主要功能:路由管理:Ocelot......
  • Nacos: 一个动态服务发现与配置管理平台
    Nacos:一个动态服务发现与配置管理平台引言在微服务架构日益普及的今天,服务之间的调用和配置管理变得越来越复杂。为了简化这一过程并提高开发效率,阿里巴巴推出了Nacos——一个易于使用的动态服务发现、配置管理和服务管理平台。Nacos是什么?Nacos(DynamicNamingandCo......