SpringCloud Alibaba系列(二) Nacos使用

简介: Nacos使用

一.环境准备


  1.64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。


   2.64 bit JDK 1.8+


   3.Maven 3.2.x+


 

二.安装


1.源码安装


git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  
ls -al distribution/target/
// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin


 启动服务


   启动命令(standalone代表着单机模式运行,非集群模式):


 sh startup.sh -m standalone

 

如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:


 bash startup.sh -m standalone

2.源码安装

从GitHub下载好tar安装包  tar -xvf nacos-server-$version.tar.gz cd nacos/bin  启动同上

3.Docker安装

查找镜像  docker search nacos
  录取镜像
  docker pull nacos/nacos-server  运行镜像(单机版)  docker run -d -p 8848:8848 -e MODE=standalone -v /opt/nacos/init.d/   custom.properties:/home/nacos/init.d/custom.properties -v /opt/nacos/logs:/home/nacos/logs   --restart always --name nacos nacos/nacos-server

 

安装启动成功后浏览器输入http://ip:8848/nacos/ , 账号密码默认为nacos


 

服务注册


1.pom文件

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

2.yml文件

spring:
  application:
    name: dream-gateway
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848


3.主启动类上加上注解


@EnableDiscoveryClient


服务注册到nacos成功


 


 

Nacos Config(配置中心)


      Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。


   Spring Cloud Alibaba Nacos Config 是 Config Server 和 Client 的替代方案,客户端和服务器上的概念与 Spring Environment 和 PropertySource 有着一致的抽象,在特殊的 bootstrap 阶段,配置被加载到 Spring 环境中。当应用程序通过部署管道从开发到测试再到生产时,您可以管理这些环境之间的配置,并确保应用程序具有迁移时需要运行的所有内容。

 

  在nacos可视化界面配置

    Data ID格式为: ${prefix}-${spring.profiles.active}.${file-extension}


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


    spring.profiles.active 即为当前环境对应的 profile, 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}  


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


 

 


 

  代码:


 pom.xml


<dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

bootstrapp.yml


spring:
  application:
    name: dream-test
  cloud:
    nacos:
      config:
        file-extension: yaml  #不能为yml,不然识别不出来
        server-addr: 127.0.0.1:8848
      discovery:
        server-addr:
127.0.0.1
:8848


application.yml


spring:
  profiles:
    active: dev  #开发环境


获取配置中心key-value


@RefreshScope 注解动态刷新
@RestController
@RefreshScope 
public class NacosController {
    @Value("${user.name}")
    private String name;
    @Value("${user.age}")
    private int age;
    @GetMapping("/getProperties")
    public R nacosConfig(){
        HashMap<String,Object> hashMap = new HashMap<>();
        hashMap.put("name",name);
        hashMap.put("age",age);
        return R.success(hashMap);
    }
}

结果


 

 

目录
相关文章
|
9月前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
5387 104
|
11月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
1480 3
|
9月前
|
负载均衡 Java API
《深入理解Spring》Spring Cloud 构建分布式系统的微服务全家桶
Spring Cloud为微服务架构提供一站式解决方案,涵盖服务注册、配置管理、负载均衡、熔断限流等核心功能,助力开发者构建高可用、易扩展的分布式系统,并持续向云原生演进。
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
5061 14
|
负载均衡 Dubbo Java
Spring Cloud Alibaba与Spring Cloud区别和联系?
Spring Cloud Alibaba与Spring Cloud区别和联系?
|
SpringCloudAlibaba 负载均衡 Dubbo
【SpringCloud Alibaba系列】Dubbo高级特性篇
本章我们介绍Dubbo的常用高级特性,包括序列化、地址缓存、超时与重试机制、多版本、负载均衡。集群容错、服务降级等。
2089 7
【SpringCloud Alibaba系列】Dubbo高级特性篇
|
人工智能 SpringCloudAlibaba 自然语言处理
SpringCloud Alibaba AI整合DeepSeek落地AI项目实战
在现代软件开发领域,微服务架构因其灵活性、可扩展性和模块化特性而受到广泛欢迎。微服务架构通过将大型应用程序拆分为多个小型、独立的服务,每个服务运行在其独立的进程中,服务与服务间通过轻量级通信机制(通常是HTTP API)进行通信。这种架构模式有助于提升系统的可维护性、可扩展性和开发效率。
5640 2
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论

热门文章

最新文章