当前位置: 首页 > article >正文

Nacos服务发现和配置管理

目录

一、Nacos概述

1. Nacos 简介

2. Nacos 特性

2.1 服务发现与健康监测

2.2 动态配置管理

2.3 动态DNS服务

2.4 其他关键特性

二、 服务注册和发现

2.1 核心概念

2.2 Nacos注册中心

2.3 Nacos单机模式

2.4 案例——服务注册与发现

2.4.1 父工程

2.4.2 order-provider服务提供者

2.4.3 order-consumer服务消费者

2.5.4 实例结果

三、RestTemplate 远程调用

1. RestTemplate 简介

2. 常用请求方法

3. 集成 Nacos 服务发现

四、配置管理

1. 配置共享

1.1.添加共享配置

1.2.拉取共享配置

2. 配置热更新

2.1 nacos配置热更新前提

3. 共享配置和配置热更新



实践nacos服务注册发现和配置管理https://download.csdn.net/download/m0_74808313/90587372

一、Nacos概述

1. Nacos 简介

        Nacos 是一个易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是 Spring Cloud Alibaba 的组件,主要负责服务注册、发现和配置。

        Nacos(Dynamic Naming and Configuration Service)是 Spring Cloud Alibaba 的核心组件,提供两大核心能力:

  • 服务发现与健康管理:微服务的注册、发现和健康监测。

  • 动态配置管理:集中化管理所有微服务的配置,支持动态刷新。

2. Nacos 特性

2.1 服务发现与健康监测

  • 多协议支持

    • 同时支持 DNS-Based 和 RPC-Based(如Dubbo、gRPC)服务发现。

    • 提供 OpenAPI 和 SDK 两种接入方式,兼容多种技术栈。

  • 健康检查机制

    • 双模式检测

      • Agent上报模式:服务实例主动上报心跳(适合云环境)。

      • 服务端主动探测:Nacos Server 定期检查实例状态(如TCP端口探测)。

    • 多层级监测:支持传输层(端口存活)和应用层(如HTTP接口健康)检查。

  • 流量管控

    • 自动屏蔽不健康实例,结合 权重配置 实现灰度发布。

2.2 动态配置管理

  • 核心能力

    • 集中化存储:所有微服务配置统一管理,支持 YAML/Properties/JSON 格式。

    • 动态刷新:通过 @RefreshScope 实时生效,无需重启服务。

    • 版本控制:保留配置历史版本,支持一键回滚。

  • 高级功能

    • 金丝雀发布:按比例分批推送配置变更。

    • 监听查询:实时跟踪客户端配置更新状态。

    • 敏感配置加密:支持密码等敏感信息的加密存储。

2.3 动态DNS服务

  • 权重路由

    • 为服务实例分配权重(如新版本10%,旧版本90%),实现平滑迁移。

  • 灵活路由策略

    • 支持基于元数据(如机房、版本)的路由,适配多活架构。

2.4 其他关键特性

  • 多环境隔离

    • 通过 Namespace(开发/测试/生产)和 Group(业务分组)实现配置和服务隔离。

  • 高可用架构

    • 集群部署 + MySQL持久化,避免单点故障。

  • 易用性

    • 提供可视化控制台,支持服务拓扑图、配置diff对比等运维功能。

二、 服务注册和发现

2.1 核心概念

  • 服务注册:微服务启动时向 Nacos Server 注册自己的信息(IP、端口、服务名等)。

  • 服务发现:消费者通过服务名从 Nacos Server 获取可用服务实例列表。

  • 健康检查:Nacos 主动监测服务实例的健康状态,自动剔除故障节点。

2.2 Nacos注册中心

        Nacos 作为注册中心的核心功能是管理微服务的服务注册服务发现健康监测,其架构如下图所示:

[服务提供者] → 注册 → [Nacos Server] ← 发现 ← [服务消费者]心跳维护             健康检查

工作流程

  1. 服务注册

    • 服务启动时,通过 spring-cloud-starter-alibaba-nacos-discovery 向 Nacos Server 注册实例信息(IP、端口、服务名等)。

    • 示例注册数据:

      {"serviceName": "user-service","ip": "192.168.1.100","port": 8080,"metadata": {"version": "v1", "zone": "shanghai"}
      }
  2. 服务发现

    • 消费者通过服务名查询可用实例列表,默认采用 轮询负载均衡 策略。

    • 发现示例代码:

      @Autowired
      private DiscoveryClient discoveryClient;List<ServiceInstance> instances = discoveryClient.getInstances("user-service");
  3. 健康维护

    • 客户端每 5 秒发送一次心跳(可配置),Nacos Server 15 秒未收到心跳则标记实例为不健康。

    • 不健康实例不会被返回给消费者。

2.3 Nacos单机模式

        在使用 Nacos 之前,需要先下载并安装 Nacos Server。Nacos Server 有两种运行模式:
standalone(单机)和 cluster(集群)。Nacos Server 单机模式运行步骤如下所示。

Nacos Server 下载 | Nacos 官网https://nacos.io/download/nacos-server/

1. 在 Nacos 官方网站根据不同的操作系统选择相应的安装包进行下载。

2. 将下载的文件解压后进入 nacos\bin 目录,打开命令提示符窗口,执行 shell 命令 "startup.cmd -m standalone",以单机模式启动 Nacos,如图所示。

3. 在浏览器输入地址:http://127.0.0.1:8848/nacos 即可访问,默认账号和密码都是 nacos

2.4 案例——服务注册与发现

案例说明:创建两个简单的微服务来模拟服务提供者和服务消费者,并将其整合到nacos,实现服务的注册与发现。

2.4.1 父工程

        父工程统一管理Spring Boot、Spring Cloud和Spring Cloud Alibaba。

父工程选用的版本如下:

  • Spring Boot 2.7.12
  • Spring Cloud 2021.0.3
  • Spring Cloud Alibaba 2021.0.4.0

父工程的pom.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.hl</groupId><artifactId>shop</artifactId><version>1.0.0</version><packaging>pom</packaging><modules><module>order-consumer</module><module>order-provider</module></modules><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.12</version><relativePath/></parent><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring-cloud.version>2021.0.3</spring-cloud.version><spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version><spring-boot-web.version>2.7.12</spring-boot-web.version></properties><dependencyManagement><dependencies><!--spring cloud--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!--spring cloud alibaba--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version></dependency><!--单元测试--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency></dependencies></project>

2.4.2 order-provider服务提供者

order-providerpom.xml中添加依赖

<!--nacos 服务注册发现-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

在order-provider的application.yml中添加nacos地址配置

server:port: 8081
spring:application:name: order-providerprofiles:active: devcloud:nacos:server-addr: localhost:8848 # nacos地址

在启动类追加@EnableDiscoveryClient注解开启服务注册与发现功能:

package com.hl;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {public static void main(String[] args) {SpringApplication.run(ProviderApplication.class, args);}
}

2.4.3 order-consumer服务消费者

order-consumerpom.xml中添加依赖

<!--nacos 服务注册发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--负载均衡器--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency>

在order-provider的application.yml中添加nacos地址配置

server:port: 8082
spring:application:name: order-consumerprofiles:active: devcloud:nacos:server-addr: localhost:8848 # nacos地址

在启动类追加@EnableDiscoveryClient注解开启服务注册与发现功能:

package com.hl;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication
@EnableDiscoveryClient
public class ConsumerApplication {public static void main(String[] args) {SpringApplication.run(ConsumerApplication.class, args);}
}

2.5.4 实例结果

        单机模式启动nacos,在服务列表中可看到两个实例服务:

三、RestTemplate 远程调用

1. RestTemplate 简介

RestTemplate 是 Spring 提供的用于同步 HTTP 请求的客户端工具,支持 RESTful 风格的远程服务调用。在微服务架构中,通常配合 服务发现(如Nacos) 和 负载均衡 使用。

2. 常用请求方法

方法说明示例
getForObject()GET请求,返回响应体restTemplate.getForObject(url, String.class)
getForEntity()GET请求,返回完整响应(含状态码等)restTemplate.getForEntity(url, User.class)
postForObject()POST请求,返回响应体restTemplate.postForObject(url, requestObj, String.class)
exchange()通用请求(可指定HTTP方法)restTemplate.exchange(url, HttpMethod.PUT, entity, String.class)
delete()DELETE请求restTemplate.delete(url)

        常见的Get、Post、Put、Delete请求都支持,如果请求参数比较复杂,还可以使用exchange方法来构造请求。

Map map = restTemplate.exchange("http://localhost:8082/order",HttpMethod.GET,null,Map.class).getBody();

3. 集成 Nacos 服务发现

将RestTemplate注册为一个Bean:

@Bean
@LoadBalanced  // 关键注解:启用服务名解析和负载均衡
public RestTemplate restTemplate() {return new RestTemplate();
}

 发起 HTTP 请求

@Autowired
private RestTemplate restTemplate;// 直接使用服务名(user-service)代替具体IP和端口
String url = "http://user-service/users/1";  
String response = restTemplate.getForObject(url, String.class);

四、配置管理

        Nacos 配置管理提供集中式动态化的配置管理能力,解决微服务架构中配置分散、多环境管理等问题。

1. 配置共享

我们可以把微服务共享的配置抽取到Nacos中统一管理,这样就不需要每个微服务都重复配置了。分为两步:

  • 在Nacos中添加共享配置

  • 微服务拉取配置

1.1.添加共享配置

配置管理->配置列表中新建一个配置:shared-jdbc.yaml

1.2.拉取共享配置

        接下来,我们要在微服务拉取共享配置。将拉取到的共享配置与本地的application.yaml配置合并,完成项目上下文的初始化。

        读取Nacos配置是SpringCloud上下文(ApplicationContext)初始化时处理的,发生在项目的引导阶段。然后才会初始化SpringBoot上下文,去读取application.yaml

        SpringCloud在初始化上下文的时候会先读取一个名为bootstrap.yaml(或者bootstrap.properties)的文件,如果我们将nacos地址配置到bootstrap.yaml中,那么在项目引导阶段就可以读取nacos中的配置了。

引入依赖:

  <!--nacos配置管理--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--读取bootstrap文件--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency>

在resource目录下新建bootstrap.yaml:

spring:profiles:active: devcloud:nacos:server-addr: localhost:8848 # nacos地址config:file-extension: yaml # 文件后缀名shared-configs: # 共享配置- dataId: shared-jdbc.yaml

重启服务,项目正常运行则说明共享的配置拉取成功。

2. 配置热更新

        配置热更新(Dynamic Configuration Update)指在应用程序不重启的情况下,实时修改并生效配置参数的能力。在微服务架构中,这是通过配置中心(如Nacos、Apollo)实现的。

2.1 nacos配置热更新前提

①文件的dataId格式

[服务名]-[spring.active.profile].[后缀名]

文件名称由三部分组成:

  • 服务名:该微服务的名称

  • spring.active.profile:就是spring boot中的spring.active.profile,可以省略,则所有profile共享该配置

  • 后缀名:例如yaml

②微服务中要以特定方式读取要配置热更新的属性(两种)

方式1:

@Component
@ConfigurationProperties("order")
@Data
public class OrderProperties {private String name;private String address;
}

方式2:

@RestController
@RefreshScope  // 关键注解:允许动态刷新
public class UserController {@Value("${user.max-active}")private Integer maxActive;@GetMapping("/config")public String getConfig() {return "MaxActive: " + maxActive;}
}

3. 共享配置和配置热更新

        对于共享配置,默认不自动更新,可以在dataId后加refresh:true设置为自动更新;

        对于热更新,微服务会自动拉取这类配置,因此无需在bootstrap中配置

spring:cloud:nacos:config:shared-configs:- data-id: common.yamlgroup: DEFAULT_GROUPrefresh: true

相关文章:

Nacos服务发现和配置管理

目录 一、Nacos概述 1. Nacos 简介 2. Nacos 特性 2.1 服务发现与健康监测 2.2 动态配置管理 2.3 动态DNS服务 2.4 其他关键特性 二、 服务注册和发现 2.1 核心概念 2.2 Nacos注册中心 2.3 Nacos单机模式 2.4 案例——服务注册与发现 2.4.1 父工程 2.4.2 order-p…...

【KWDB 创作者计划】第一卷:基础架构篇

以下是KWDB技术白皮书第一卷&#xff1a;基础架构篇的完整内容展示&#xff0c;包含要求的三个核心章节的深度解析。我们将以技术严谨性结合可读性的方式呈现&#xff0c;实际交付时会进一步扩展示意图和代码示例。 目录 ​KWDB技术白皮书卷一&#xff1a;基础架构篇 ​1. 数…...

对接日本金融市场数据全指南:K线、实时行情与IPO新股

一、日本金融市场特色与数据价值 日本作为全球第三大经济体&#xff0c;其金融市场具有以下显著特点&#xff1a; 成熟稳定&#xff1a;日经225指数包含日本顶级蓝筹股独特交易时段&#xff1a;上午9:00-11:30&#xff0c;下午12:30-15:00&#xff08;JST&#xff09;高流动性…...

【愚公系列】《高效使用DeepSeek》066-纠纷解决话术

🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…...

操作系统 3.1-内存使用和分段

如何简单使用内存 这张幻灯片展示了计算机如何开始执行程序的基本过程&#xff0c;涉及到存储器、指令寄存器&#xff08;IR&#xff09;、运算器和控制器等计算机组件。 存储器&#xff1a;程序被加载到内存中。图中显示了一个指令 mov ax, [100]&#xff0c;它的作用是将内存…...

禅道MCP Server开发实践与功能全解析

一、简介 1、MCP Server核心定义 MCP Server&#xff08;Meta Command Protocol Server&#xff09;是一种基于客户端-服务器架构的轻量级服务程序&#xff0c;采用统一的mcp协议格式&#xff0c;通过连接多样化数据源和工具为AI应用提供扩展能力。它作为中间层&#xff0c;实…...

Spring Boot 3.5新特性解析:自动配置再升级,微服务开发更高效

&#x1f4dd; 摘要 Spring Boot 3.5作为Spring生态的最新版本&#xff0c;带来了多项令人振奋的改进。本文将深入解析其中最核心的自动配置增强特性&#xff0c;以及它们如何显著提升微服务开发效率。通过详细的代码示例和通俗易懂的讲解&#xff0c;您将全面了解这些新特性在…...

GNSS静态数据处理

1 安装数据处理软件&#xff1a;仪器之星&#xff08;InStar &#xff09;和 Trimble Business Center 做完控制点静态后&#xff0c;我们需要下载GNSS数据&#xff0c;对静态数据进行处理。在处理之前需要将相关软件在自己电脑上安装好&#xff1a; 仪器之星&#xff08;InS…...

java家政APP源码,家政预约平台源码,家电上门维修、家电上门清洗

家政上门预约服务APP源码&#xff0c;开发功能涵盖了用户注册与登录、家政服务分类与选择、预约管理、支付与交易、地图与导航、评价与反馈、个人信息管理、消息通知、营销工具以及数据分析等多个方面。这些功能的实现不仅提高了家政服务的便捷性和效率&#xff0c;还为用户提供…...

LangGraph 架构详解

核心架构组件 LangGraph 的架构建立在一个灵活的基于图的系统上&#xff0c;使开发者能够定义和执行复杂的工作流。以下是主要架构组件&#xff1a; 1. 状态管理系统 LangGraph 的核心是其强大的状态管理系统&#xff0c;它允许应用程序在整个执行过程中维护一致的状态&…...

【LLM基础】Megatron-LM相关知识(主要是张量并行机制)

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了Megatron-LM的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于Megatron-LM相关材料进行的&#xff0c;每个知识点的修正和深入…...

动力电池自动点焊机:新能源汽车制造的智能焊接利器

在新能源汽车产业蓬勃发展的今天&#xff0c;动力电池作为其核心部件&#xff0c;其性能与安全性直接关系到整车的续航里程和使用寿命。而动力电池的制造过程中&#xff0c;焊接工艺是至关重要的一环。这时&#xff0c;动力电池自动点焊机便以其高效、精准、智能的特点&#xf…...

解决vcpkg使用VS2022报错问题

转自个人博客&#xff1a;解决vcpkg使用VS2022报错问题 最近&#xff0c;在把Visual Studio2019完全更新到最新Visual Studio2022后&#xff0c;原使用的vcpkg无法正常安装包&#xff0c;会报如下与Visual Studio 2022相关的错误&#xff1a; error: in triplet x64-windows-m…...

Next.js 简介

Next.js 是一个由 Vercel 开发的基于 React 的 Web 开发框架&#xff0c;旨在简化 React 应用的开发流程&#xff0c;提供更好的性能和开发体验。 &#x1f31f; Next.js 的核心特点 1. 文件系统路由&#xff08;File-system Routing&#xff09; 在 pages/ 目录中创建文件就…...

一文详解ffmpeg环境搭建:Ubuntu系统ffmpeg配置nvidia硬件加速

在Ubuntu系统下安装FFmpeg有多种方式,其中最常用的是通过apt-get命令和源码编译安装。本文将分别介绍这两种方式,并提供安装过程。 一、apt-get安装 使用apt-get命令安装FFmpeg是最简单快捷的方式,只需要在终端中输入以下命令即可: # 更新软件包列表 sudo apt-get updat…...

MySQL逻辑架构有什么?

1. MySQL逻辑架构分层 MySQL的逻辑架构可分为三层&#xff08;自上而下&#xff09;&#xff1a; 连接层&#xff08;Client Layer&#xff09;服务层&#xff08;Server Layer&#xff09;存储引擎层&#xff08;Storage Engine Layer&#xff09; -----------------------…...

AI应用企业研发方案

一、引言 在当今数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;技术正以前所未有的速度融入各个行业&#xff0c;推动着企业的创新与变革。对于医药流通行业批发公司而言&#xff0c;面对日益激烈的市场竞争和不断变化的客户需求&#xff0c;借助AI技术提升企业的…...

【15】Strongswan watcher详解2

watcher的核心业务函数watch&#xff1a; &#xff08;1&#xff09;如果count为0&#xff0c;没有要监听的句柄&#xff0c;则watcher状态设置为WATCHER_STOPPED&#xff0c;返回&#xff0c;返回值为JOB_REQUEUE_NONE&#xff0c;这会返回到“【11】Strongswan processor 详解…...

linux shell编程之条件语句(二)

目录 一. 条件测试操作 1. 文件测试 2. 整数值比较 3. 字符串比较 4. 逻辑测试 二. if 条件语句 1. if 语句的结构 (1) 单分支 if 语句 (2) 双分支 if 语句 (3) 多分支 if 语句 2. if 语句应用示例 (1) 单分支 if 语句应用 (2) 双分支 if 语句应用 (3) 多分支 …...

uniapp uni-collapse动态切换数据时高度不能自适应

需单独调用方法更新 this.$nextTick(() > {if (this.$refs.collapseBox) {this.$refs.collapseBox.resize()} })...

递归?递推?

前言&#xff1a;递归、递推是两种非常常见基础的算法了&#xff0c;但我之前忘了从这基础的先讲起了&#xff0c;大家应该也都略有了解吧&#xff01;今天突然想写点相关延伸内容&#xff0c;所以还是完整介绍一些吧 递归 递归是一种通过函数调用自身解决问题的算法。在递归…...

蓝桥杯--结束

冲刺题单 基础 一、简单模拟&#xff08;循环数组日期进制&#xff09; &#xff08;一&#xff09;日期模拟 知识点 1.把月份写为数组&#xff0c;二月默认为28天。 2.写一个判断闰年的方法&#xff0c;然后循环年份的时候判断并更新二月的天数 3.对于星期数的计算&#…...

【ChCore Lab 01】Bomb Lab 拆炸弹实验(ARM汇编逆向工程)

文章目录 1. 前言2. 实验代码版本问题3. 关于使用问题4. 宏观分析5. read_line 函数介绍6. phase_0 函数6.1. read_int 函数6.2. 回到 phase_0 函数继续分析6.3. 验证结果 7. phase_1 函数7.2. 验证结果 8. phase_2 函数8.1. read_8_numbers 函数8.2. 回到 phase_2 函数继续分析…...

Android-应用签名

1 需求 Android 支持以下三种应用签名方案&#xff1a; v1 方案&#xff1a;基于 JAR 签名。v2 方案&#xff1a;APK 签名方案 v2&#xff08;在 Android 7.0 中引入&#xff09;。v3 方案&#xff1a;APK 签名方案 v3&#xff08;在 Android 9 中引入&#xff09;。v4 方案&…...

二分答案----

二分答案 - 题目详情 - HydroOJ 问题描述 给定一个由n个数构成的序列a&#xff0c;你可以进行k次操作&#xff0c;每次操作可以选择一个数字&#xff0c;将其1&#xff0c;问k次操作以后&#xff0c;希望序列里面的最小值最大。问这个值是多少。 输入格式 第一行输入两个正…...

AI前沿周报:2025年3月技术深度解析

以下是基于2024-2025年AI技术前沿动态的深度技术周报示例&#xff0c;结合行业最新突破与研究进展&#xff0c;突出技术原理与应用场景分析&#xff1a; AI前沿周报&#xff1a;2025年3月技术深度解析 时间范围&#xff1a;2025年3月1日-3月31日 本期焦点&#xff1a;模型透明…...

Android Coil 3默认P3色域图加载/显示不出来

Android Coil 3默认P3色域图加载/显示不出来 解决&#xff0c;需要在Androidmanifest.xml使用Coil 3的activity配置属性&#xff1a; <activityandroid:colorMode"wideColorGamut"...</activity>...

Linux 系统管理常用命令

以下是 Linux 系统管理常用命令 的详细介绍&#xff0c;涵盖 IP地址查看、端口管理、进程监控 等核心操作&#xff0c;并附上实际示例&#xff1a; 一、查看网卡 IP 地址 1. 使用 ip 命令 # 查看所有网络接口信息&#xff08;包括 IP 地址&#xff09; ip addr show# 查看特定…...

Transformer多卡训练初始化分布式环境:(backend=‘nccl‘)

Transformer多卡训练初始化分布式环境:(backend=‘nccl’) dist.init_process_group(backend=nccl)在多卡环境下初始化分布式训练环境,并为每个进程分配对应的 GPU 设备。下面为你逐行解释代码的含义: 1. 初始化分布式进程组 try:dist.init_process_group(backend=nccl) e…...

Kubernetes集群环境搭建与初始化

1.Kubernetes简介&#xff1a; Kubernetes是Google开源的一个容器编排引擎&#xff0c;它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时&#xff0c;通常要部署该应用的多个实例以便对应用请求进行负载均衡。 在Kubernetes中&#xff0c;我…...