Nacos快速入门(windows)

news2024/11/14 14:09:35

Nacos是 Dynamic Naming and Configuration Service的简称。Nacos能快速实现动态服务发现、服务配置、服务元数据及流量管理

下载启动Nacos

  1. Nacos下载启动(windows)

     以下两种随意选择一种即可
    
    • 从github上下载源码方式启动

      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
      
    • 下载编译后压缩包方式(推荐)
      下载 nacos-server-2.3.1.zip
      下载地址:https://github.com/alibaba/nacos/releases
      解压下载的zip包,进入nacos/bin 输入启动命令 startup.cmd -m standalone
      在这里插入图片描述

  2. 登录nacos 。本地浏览器输入地址 http://localhost:8848/nacos 登录。默认密码是nacos/nacos

    在这里插入图片描述

注册服务和发现服务

pom文件中引入 spring-cloud-starter-alibaba-nacos-discovery,注意springboot和引入nacos包的版本 ,本例子中引入的springboot 是2.0.4.RELEASE ,nacos是0.2.1.RELEASE (注意:springboot 的2.1.9.RELEASE 和nacos0.2.1.RELEASE 版本不兼容,会导致服务注册不上去,切记,因为这个我浪费了很多时间)

如报错 java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848]) tried
at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:335) ~[nacos-client-0.6.2.jar:na] 可以在原有的nacso里面排除nacos-client 重新引入nacos-client ,如pom文件里面一样

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>0.2.1.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>com.alibaba.nacos</groupId>
                    <artifactId>nacos-client</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
            <version>1.1.0</version>
        </dependency>
    </dependencies
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

application.properties文件中

-- 微服务端口
server.port=8045
-- 微服务名
spring.application.name=demo01
 -- 配置 Nacos server 的地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

启动类中加注解@EnableDiscoveryClient

@SpringBootApplication
@EnableDiscoveryClient
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

启动微服务登录nacos,即可看到服务注册上去了

在这里插入图片描述

启动配置管理

  • pom文件引入spring-cloud-starter-alibaba-nacos-config

  • 修改application.properties 成bootstrap.properties(或者yml,但注意后面添加配置的时候dataId需要同步修改后缀)并增加 spring.cloud.nacos.config.server-addr=127.0.0.1:8848

    spring.cloud.nacos.config.server-addr=127.0.0.1:8848
    
    	<dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
                <version>0.2.1.RELEASE</version>
     	</dependency>
    

    如果application.properties 不修改成bootstrap.properties启动微服务,会报错如下。因为是bootstrap.yml 是被一个父级的 Spring ApplicationContext 加载的。这个父级的 Spring ApplicationContext是在加载application.yml 的 ApplicationContext之前先加载的

    Caused by: com.alibaba.nacos.api.exception.NacosException: endpoint is blankat 
    at com.alibaba.nacos.client.config.impl.ServerListManager.<init>(ServerListManager.java:154) ~[nacos-client-1.1.0.jar:na]
    at com.alibaba.nacos.client.config.http.ServerHttpAgent.<init>(ServerHttpAgent.java:244) ~[nacos-client-1.1.0.jar:na]
    at com.alibaba.nacos.client.config.NacosConfigService.<init>(NacosConfigService.java:83) ~[nacos-client-1.1.0.jar:na]
    ... 15 common frames omitted
    
  • nacos配置中心添加配置如下图

    Data Id : demo01.properties (注意不能写错,如果项目加了注解@Value获取值,获取不到 ,启动会报错)

    dataId 的完整格式如下   ${prefix}-${spring.profiles.active}.${file-extension}
    prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
    spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
    file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml/yml 类型。properties可默认不配置,但是yml需要在配置
    

    注意设置值时候的配置格式,当配置文件为properties的时候,最常用的可以设置为TEXT/JSON/YAML/Properties。当配置文件为yml的时候,最常用的可以设置成YAML(别设置成text,可能会取不到)
    在这里插入图片描述

在这里插入图片描述

  • 编写测试类
    在测试类上加注解@RefreshScope 实现配置自动更新

    @RestController
    @RefreshScope
    public class DemoController {
      @Value("${testDemo}")
      String testDemo;
      @RequestMapping("/demo/getCode")
      public String getCode() {
          return "testDemo:"+testDemo;
      }
    }
    

    在浏览器测试url(http://127.0.0.1:8045/demo/getCode),当nacos里面的配置改变时,nacos会自动通知项目已更新值(如下图提示),再次调用显示的是最新值了

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1597201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

业务与数据的终极对决:如何让大数据成为企业的超能力?

在数字化转型的浪潮中&#xff0c;企业如同在茫茫数据海洋中航行的船只&#xff0c;而数据资产管理就是指引航向的罗盘。但是&#xff0c;当业务需求与数据脱节、数据孤岛林立、业务流程与数据流程不同步、以及业务增长带来的数据管理挑战成为阻碍&#xff0c;我们该如何突破重…

c++取经之路(其五)——类和对象拷贝构造函数

概念&#xff1a;拷贝构造函数&#xff0c;只有单个形参&#xff0c;该形参是对本类类型对象的引用(一般常用const修饰)&#xff0c;在用已存在的类类型对象创建新对象时由编译器自动调用。 特征&#xff1a; 1. 拷贝构造函数是构造函数的一个重载形式 如&#xff1a; 2. 拷贝…

springboot+Vue项目部署到云服务器上

一、下载配置ngnix 1.压缩包下载并上传 链接: https://pan.baidu.com/s/1m2LKV8ci4WXkAWdJXIeUFQ 提取码: 0415 2.解压 tar -xzvf 压缩包名 3.编译nginx 在解压好的文件夹下,依次执行&#xff1a; ./configure 来到nginx默认安装路径/usr/local/nginx 依次执行命令 mak…

【企业动态】瑞芯微高级业务总监来访东胜物联,共探新能源汽车市场合作

近日&#xff0c;瑞芯微高级业务总监阙金珍一行来访东胜物联参观交流&#xff0c;并就深化合作进行讨论。 东胜物联与瑞芯微建有长期稳固的合作关系&#xff0c;基于RK3588、RK3399、RK3568等处理器&#xff0c;推出了多款嵌入式核心硬件产品&#xff0c;包括核心板、网关等&a…

一文详解MES、ERP、SCM、WMS、APS、SCADA、PLM、QMS、CRM、EAM及其关系

经常遇到很多系统&#xff0c;比如&#xff1a;MES、ERP、SCM、WMS、APS、SCADA、PLM、QMS、CRM、EAM&#xff0c;这些都是什么系统&#xff1f;有什么功能和作用&#xff1f;它们之间的关系是怎样的&#xff1f; 今天就一文详细分享给大家。 10大系统之间的关系 ERP 和其他…

知名度最高的免费SSL证书

一、选证书类型 根据网站性质与安全需求&#xff0c;选定合适的SSL证书&#xff1a; - 域名验证证书&#xff08;DV&#xff09;&#xff1a;快速验证域名所有权&#xff0c;适用于个人网站、博客&#xff0c;申请简便。 - 组织验证证书&#xff08;OV&#xff09;&#xff1a;…

东方博宜 1152. 求n个数的最大值和最小值

东方博宜 1152. 求n个数的最大值和最小值 思路&#xff1a;贼拉简单&#xff0c;就是用排序函数sort()函数&#xff0c;注意点&#xff0c;一个是头文件&#xff0c;一个是for循环里面的起始值 sort(a,an) 从小到大排序&#xff0c;sort(a,an,greater()) 从大到小排序 #incl…

爬虫 | 垃圾处理设施数据的获取与保存

Hi&#xff0c;大家好&#xff0c;我是半亩花海。本项目通过发送网络请求&#xff08;requests&#xff09;&#xff0c;从指定的 URL 获取垃圾处理设施的相关数据&#xff0c;并将数据保存到 CSV 文件中&#xff0c;以供后续分析和利用。 目录 一、项目结构 二、详细说明 三…

wangzherongyao 2024.04.15

第一局&#xff1a;百里陪那只重置技能CD的辅助&#xff0c;对面有兰陵王&#xff0c;妲己&#xff0c;然后我补位廉颇被自己人和对面一阵嘲讽&#xff0c;真的不想说啥&#xff0c;对面盾山和妲己估计都没明白&#xff0c;我一只就能破他们队伍&#xff0c;所以看到没先出魔抗…

【拦截器Interceptor】springboot拦截器的使用和原理

【拦截器Interceptor】springboot拦截器的使用和原理 【一】拦截器简介&#xff08;1&#xff09;简介【2】作用 【二】实现步骤【1】自定义拦截器&#xff0c;实现拦截器接口HandlerInterceptor【2】将拦截器添加到容器当中【3】配置拦截器的拦截规则【4】拦截器的执行顺序 【…

HCIP-Datacom(H12-821)111-120题

111、地址转换技术的优点不包括()? A.地址转换可以使内部网络用户(私有IP地址)方便地访问Internet B.地址转换可以屏蔽内部网络的用户提高内部网络的安全性 C.地址转换可以使内部局城网的许多主机共享一个IP地址上网D.地址转换能够处理IP报头加密的情况 解析:地址转换只处理…

Python远程创建docker容器

1.安装docker yum install dockerdocker -v 2.拉取一个测试镜像&#xff0c;比如tomcat&#xff0c;默认是最新版本的 docker pull tomcat 使用 docker images可以看到该镜像 3.使用Python创建容器 import docker# 连接到远程Docker守护进程 client docker.DockerClient(…

今年消费新潮流:零元购商业模式

今天给大家推荐一种极具创新的电子商务模式&#xff1a;零元购商业模式 这个模式支持消费者以零成本或极低成本购买商品。这种模式主要通过返现、积分、优惠券等方式来减少支付金额&#xff0c;使消费者实现“零成本”购物的目标。 人民网在去年发表了一篇文章。 总结了一下&a…

麒麟服务器操作系统安装HTTP服务

往期好文&#xff1a;麒麟服务器操作系统安装TFTP服务 Hello&#xff0c;大家好啊&#xff01;今天我们将探讨如何在麒麟服务器操作系统上安装和配置HTTP服务&#xff0c;这是任何网络服务或应用的基础。无论你是想建立一个简单的网站&#xff0c;还是需要一个全功能的Web服务器…

基于微信小程序【原生】+ssm+mysql+jsp消防知识学习平台(含论文)

博主介绍&#xff1a; 大家好&#xff0c;本人精通Java、Python、C#、C、C编程语言&#xff0c;同时也熟练掌握微信小程序、Php和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验&#xff0c;能够为学生提供各类…

酸雨降水问题——多元回归分析

目录 题目如下 数据集如下 解题方法 regress 函数 代码实现 得出结果 题目如下 酸雨是降水中各种离子综合作用的结果。实际检测表明:城市降水pH值主要 受酸性离子[SO]、[NO]、[Ca]、[NH]影响。下表列出了我国部分城市降水 中[SO]、[NO]、[Ca⁺]、[NH]的浓度和pH值数据。以…

Linux程序调试优化(1)——内存占用详解及优化思路

文章目录 1.free查看总体的内存占用2./proc/$PID/status 查看某进程状态 linux开发最重要的两个参数&#xff0c;分别是内存以及CPU使用率&#xff0c;若内存出现严重不足&#xff0c;则在需要使用内存时&#xff0c;可能出现申请不到的情况&#xff0c;导致 OOM&#xff0c;L…

如何实现对空调状态监测的监控

随着科技的飞速发展和人们生活水平的持续提高&#xff0c;空调已经成为现代家庭和办公环境中不可或缺的一部分。然而&#xff0c;传统的空调使用方式往往存在能效低下、操作不便等问题。为了解决这些问题&#xff0c;智能空调控制器应运而生&#xff0c;它不仅能实现对空调状态…

Java使用OpenOffice将office文件转换为PDF

Java使用OpenOffice将office文件转换为PDF 1. 先行工作1.1 OpenOffice官网下载1.2 JODConverter官网下载1.3 下载内容 2.介绍3. 安装OpenOffice服务3.1.Windows环境3.2 Linux环境 4. maven依赖5. 转换代码 1. 先行工作 请注意&#xff0c;无论是windows还是liunx环境都需要安装…

zookeeper分布式应用程序协调服务+消息中间件kafka分布式数据处理平台

一、zookeeper基本介绍 1.1 zookeeper的概念 Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目。 是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xff0c;提供的功能包括&#xff1a;配置维护、域名服务、…