Spring Cloud Nacos使用总结

本文详细介绍了如何安装和配置Nacos服务器,包括服务发现与消费、配置管理,以及Linux环境下Nacos的集群配置。从添加依赖、配置文件、注解到集群测试,覆盖了Nacos在Spring Cloud环境中的主要功能。此外,还涉及到单机模式下支持MySQL的配置和集群启动的验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

目录

安装Nacos服务器

服务发现与消费

服务发现与消费-添加依赖

服务发现-配置文件

服务发现-注解

服务发现-Controller

服务消费-配置文件

服务消费-注解与Ribbon消费代码

服务消费-运行

配置管理

配置管理-添加依赖

配置管理-配置文件

配置管理-注解

配置管理-加入配置1

配置管理-加入配置2

配置管理-切换不同环境

DatalD方案

Group方案

Namespace空间方案

单机模式支持mysql

linux版本安装+集群配置

linux安装

更改Nacos启动命令配置原理

集群配置

Linux服务器上Mysql数据库配置

Linux服务器上Nacos的集群配置cluster.conf

编辑Nacos的启动脚本startup.sh

Nginx配置

测试启动

启动Nacos

启动Nginx

集群添加配置

配置微服务为Linux版Nacos集群并注册进Nacos


安装Nacos服务器

Nacos 快速开始

下载软件包,然后sh startup.sh -m standalone即可

服务发现与消费

Nacos Spring Cloud 快速开始

服务发现与消费-添加依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>${latest.version}</version>
</dependency>

注意:版本 2.1.x.RELEASE 对应的是 Spring Boot 2.1.x 版本。版本 2.0.x.RELEASE 对应的是 Spring Boot 2.0.x 版本,版本 1.5.x.RELEASE 对应的是 Spring Boot 1.5.x 版本。

该依赖对生产者和消费者都适用

更多版本对应关系参考:版本说明 Wiki

服务发现-配置文件

配置服务提供者,从而服务提供者可以通过 Nacos 的服务注册发现功能将其服务注册到 Nacos server 上。

在 application.properties 中配置 Nacos server 的地址:

server.port=8070
spring.application.name=service-provider

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

或者bootstrap.yaml 中配置 Nacos server 的地址和应用名

server:
  port:9001

spring:
  cloud:
    nacos:
      config:
        server-addr: 192.168.29.1:8848
        file-extension: yaml
   
  application:
    name: nacos-p

之所以需要配置 `spring.application.name` ,是因为它是构成 Nacos 配置管理 `dataId`字段的一部分。

在 Nacos Spring Cloud 中,`dataId` 的完整格式如下:

${prefix}-${spring.profiles.active}.${file-extension}

`prefix` 默认为 `spring.application.name` 的值,也可以通过配置项`spring.cloud.nacos.config.prefix`来配置。

`spring.profiles.active` 即为当前环境对应的 profile,详情可以参考 [Spring Boot文档](https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html#boot-features-profiles)。 **注意:当 `spring.profiles.active` 为空时,对应的连接符 `-` 也将不存在,dataId 的拼接格式变成 `${prefix}.${file-extension}`

`file-exetension` 为配置内容的数据格式,可以通过配置项 `spring.cloud.nacos.config.file-extension` 来配置。目前只支持 `properties` 和 `yaml` 类型。

服务发现-注解

通过 Spring Cloud 原生注解 @EnableDiscoveryClient 开启服务注册发现功能:

@SpringBootApplication
@EnableDiscoveryClient
public class NacosProviderApplication {

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

	@RestController
	class EchoController {
		@RequestMapping(value = "/echo/{string}", method = RequestMethod.GET)
		public String echo(@PathVariable String string) {
			return "Hello Nacos Discovery " + string;
		}
	}
}

服务发现-Controller

@RestController
@RefreshScope
public class MainController {

    @Value("${xxoo}")
    private String userName;

    @RequestMapping("/hello")
    public String hello() {
        return "hello+:" + userName;
    }
}

@RefreshScope注解能帮助我们做局部的参数刷新,但侵入性较强,需要开发阶段提前预知可能的刷新点,并且该注解底层是依赖于cglib进行代理

注意:服务启动前要先启动Nacos!!

服务消费-配置文件

在 application.properties 中配置 Nacos server 的地址:

server.port=8080
spring.application.name=service-consumer

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

服务消费-注解与Ribbon消费代码

通过 Spring Cloud 原生注解 @EnableDiscoveryClient 开启服务注册发现功能。给 RestTemplate 实例添加 @LoadBalanced 注解,开启 @LoadBalanced 与 Ribbon 的集成:

@SpringBootApplication
@EnableDiscoveryClient
public class NacosConsume
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值