SpringCloud-Alibaba-Nacos教程

SpringCloud-Alibaba-Nacos教程

下载地址

https://github.com/alibaba/nacos/releases/tag/2.2.3

直接进入bin包 运行cmd命令

startup.cmd -m standalone

运行成功后

进入nacos可视化页面

账号密码默认都是nacos

http://localhost:8848/nacos

微服务入驻Nacos服务注册中心

1.Maven依赖
xml 复制代码
     
        <!--nacos-discovery nacos 服务发现-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--loadbalancer 负载均衡-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>
2.application.yaml配置
yaml 复制代码
# nacos配置
spring:
  application:
    name: nacos-config-client #以此名入驻服务注册中心
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos服务注册中心地址
3.启动类
java 复制代码
@SpringBootApplication
@EnableDiscoveryClient
public class Main3377 {
    public static void main(String[] args) {

        SpringApplication.run(Main3377.class,args);
    }
}

此时启动就会入驻到nacos服务注册中心

Nacos分布式服务配置中心

1.maven依赖
xml 复制代码
  <!--bootstrap bootstrap.yaml-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>
        <!--nacos-config nacos全局配置-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
                <!--nacos-discovery nacos 服务发现-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
2.bootstrap.yaml

为什么要加bootstrap.yaml 因为它的优先级是系统级的,并且微服务想要注册服务,肯定要先让服务注册中心配置好

yaml 复制代码
# nacos配置
spring:
  application:
    name: nacos-config-client #以此名入驻服务注册中心
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos服务注册中心地址
      config:
        server-addr: localhost:8848 #Nacos作为配置中心地址
        file-extension: yaml #指定yaml格式的配置
        #group: PROD_GROUP              #如果设置了groupid    
        #namespace: Prod_Namespace    #如果设置了namespace

# nacos端配置文件DataId的命名规则是:
#    nacos-config-client                  dev                      yaml      ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
# 本案例的DataID是:nacos-config-client-dev.yaml
3.application.yaml
yaml 复制代码
server:
  port: 3377

spring:
  profiles:
    active: dev # 表示开发环境
      #active: prod # 表示生产环境
    #active: test # 表示测试环境
4.启动类还是那一套
5.controller类

需要添加@RefreshScope 这样 你在服务配置中心那改了就会实时获取到修改过的配置

java 复制代码
@RestController
@RefreshScope //在控制器类加入@RefreshScope注解使当前类下的配置支持Nacos的动态刷新功能。
public class NacosConfigClientController
{
    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/config/info")
    public String getConfigInfo() {
        return configInfo;
    }
}
6.nocas新建配置
7.测试结果

GET http://localhost:3377/config/info

HTTP/1.1 200

Content-Type: text/plain;charset=UTF-8

Content-Length: 33

Date: Sat, 09 Mar 2024 11:26:09 GMT

Keep-Alive: timeout=60

Connection: keep-alive

nihao nihao hello hello version 1

Response code: 200; Time: 110ms (110 ms); Content length: 33 bytes (33 B)

相关推荐
代码探秘者4 分钟前
【算法篇】2.滑动窗口
java·数据结构·后端·python·算法·spring
百锦再8 分钟前
Spring Boot + JWT + RBAC 权限系统实战,从登录鉴权到接口级权限控制完整落地
java·数据库·spring boot·后端·sql·mysql·oracle
小江的记录本16 分钟前
【Filter / Interceptor】过滤器(Filter)与拦截器(Interceptor)全方位对比解析(附底层原理 + 核心对比表)
java·前端·后端·spring·java-ee·前端框架·web
短剑重铸之日9 小时前
《ShardingSphere解读》07 读写分离:如何集成分库分表+数据库主从架构?
java·数据库·后端·架构·shardingsphere·分库分表
wefly201710 小时前
m3u8live.cn 在线M3U8播放器,免安装高效验流排错
前端·后端·python·音视频·前端开发工具
daidaidaiyu10 小时前
Spring IOC 源码学习 事务相关的 BeanDefinition 解析过程 (XML)
java·spring
zhanggongzichu11 小时前
小白怎么理解后端分层概念
后端·全栈
鬼蛟11 小时前
Spring————事务
android·java·spring
stark张宇11 小时前
Golang后端面试复盘:从Swoole到IM架构,如何支撑360w用户的实时消息推送?
后端
小码哥_常12 小时前
从0到1:搭建Spring Boot 3企业级认证授权平台
后端