• 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依赖
         
            
            <dependency>
                <groupId>com.alibaba.cloudgroupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
            dependency>
            
            <dependency>
                <groupId>org.springframework.cloudgroupId>
                <artifactId>spring-cloud-starter-loadbalancerartifactId>
            dependency>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    2.application.yaml配置
    # nacos配置
    spring:
      application:
        name: nacos-config-client #以此名入驻服务注册中心
      cloud:
        nacos:
          discovery:
            server-addr: localhost:8848 #Nacos服务注册中心地址
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    3.启动类
    @SpringBootApplication
    @EnableDiscoveryClient
    public class Main3377 {
        public static void main(String[] args) {
    
            SpringApplication.run(Main3377.class,args);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

    Nacos分布式服务配置中心

    1.maven依赖
      
            <dependency>
                <groupId>org.springframework.cloudgroupId>
                <artifactId>spring-cloud-starter-bootstrapartifactId>
            dependency>
            
            <dependency>
                <groupId>com.alibaba.cloudgroupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
            dependency>
                    
            <dependency>
                <groupId>com.alibaba.cloudgroupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
            dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    2.bootstrap.yaml

    为什么要加bootstrap.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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    3.application.yaml
    server:
      port: 3377
    
    spring:
      profiles:
        active: dev # 表示开发环境
          #active: prod # 表示生产环境
        #active: test # 表示测试环境
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    4.启动类还是那一套
    5.controller类

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

    @RestController
    @RefreshScope //在控制器类加入@RefreshScope注解使当前类下的配置支持Nacos的动态刷新功能。
    public class NacosConfigClientController
    {
        @Value("${config.info}")
        private String configInfo;
    
        @GetMapping("/config/info")
        public String getConfigInfo() {
            return configInfo;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    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)

  • 相关阅读:
    远程开户身份证识别OCR技术:革新传统流程,实现高效身份验证
    不依赖框架用vue3空白项目从头打造一个过得去的前端
    《绝区零》测试开启,揭开了米哈游海外战略意图
    基于TRE文章的非线性模型化线性方法
    Typoa 自己开发图床
    C++学习笔记(十三)
    一个开发文档模板
    Leetcode 381. Insert Delete GetRandom O(1) - Duplicates allowed (数据结构设计好题)
    软件测试之报表测试
    Fiddler抓包:下载、安装及使用
  • 原文地址:https://blog.csdn.net/qq_62646841/article/details/136589249