SpringCloud(30):Nacos快速入门

1 安装Nacos Server

1.1 预备环境准备

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:

  1. 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
  2. 64 bit JDK 1.8+
  3. Maven 3.2.x+

1.2 下载源码或者安装包

你可以通过源码和发行包两种方式来获取 Nacos。

从 Github 上下载源码方式

git clone https://github.com/alibaba/nacos.git
cd nacos/

mvn ‐Prelease‐nacos clean install ‐U
ls ‐al distribution/target/
// change the $version to your actual path
cd distribution/target/nacos‐server‐$version/nacos/bin

下载编译后压缩包方式

您可以从 最新稳定版本 下载 nacos-server-$version.zip 包,本教程使用nacos-server-2.2.0版本。

下载地址:https://github.com/alibaba/nacos/releases

下载后解压:

unzip nacos‐server‐$version.zip 或者 tar ‐xvf nacos‐server‐$version.tar.gz
cd nacos/bin

1.3 启动服务器

nacos的默认端口是8848,需要保证8848默认端口没有被其他进程占用。

进入安装程序的bin目录:

Linux/Unix/Mac启动方式:

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

sh startup.sh -m standalone

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

bash startup.sh -m standalone

Windows启动方式:

启动命令:

cmd startup.cmd

或者双击startup.cmd运行文件。

启动成功,可通过浏览器访问 http://192.168.222.144:8848/nacos ,打开如下nacos控制台登录页面:

SpringCloud(30):Nacos快速入门_第1张图片

使用默认用户名:nacos,默认密码:nacos 登录即可打开主页面。

SpringCloud(30):Nacos快速入门_第2张图片

1.4 OPEN API 配置管理测试

启动nacos成功后,可通过nacos提供的http api验证nacos服务运行是否正常。

下边我们通过 curl工具来测试nacos的open api:

curl 是开发中常用的命令行工具,可以用作HTTP协议测试。

本教程下载curl的windows版本:curl-7.66.0_2-win64-mingw,下载地址:https://curl.haxx.se/windows/

下载完成进入curl-7.66.0_2-win64-mingw的bin目录,进行下边的测试,通过测试可判断nacos是否正常工作:

发布配置

curl -X POST "http://192.168.222.144:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"

上边的命令表示向nacos发布一个配置:

SpringCloud(30):Nacos快速入门_第3张图片

点击“详情”:

SpringCloud(30):Nacos快速入门_第4张图片

获取配置

向nacos发布配成功置,就可以通过客户端从nacos获取配置信息,执行下边的命令:

curl -X GET "http://192.168.222.144:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

通过测试发现,可以从nacos获取前边发布的配置:HelloWorld

1.5 关闭服务器

关闭nacos服务的方式如下:

Linux/Unix/Mac方式:

sh shutdown.sh

Windows方式:

cmd shutdown.cmd

或者双击shutdown.cmd运行文件。

1.6 外部mysql数据库支持

单机模式时nacos默认使用嵌入式数据库实现数据的存储,若想使用外部mysql存储nacos数据,需要进行以下步骤:

(1)安装数据库,版本要求:5.6.5+ ,mysql 8 以下

(2)初始化mysql数据库,新建数据库nacos_config,数据库初始化文件:${nacoshome}/conf/mysql-schema.sql

SpringCloud(30):Nacos快速入门_第5张图片

 

(3)修改${nacoshome}/conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.222.132:3306/nacos_config?
characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456

2 Nacos配置入门

2.1 发布配置

首先在nacos发布配置。

浏览器访问 http://192.168.222.144:8848/nacos ,打开nacos控制台,并点击菜单配置管理->配置列表:

在Nacos添加如下的配置:

Data ID: nacos-simple-demo.yaml
Group : DEFAULT_GROUP
配置格式: YAML
配置内容: common:
            config1: something

Note: 注意dataid是以 properties(默认的文件扩展名方式)为扩展名,这里使用yaml。

第一步:点击新增配置

SpringCloud(30):Nacos快速入门_第6张图片

第二步:配置信息

SpringCloud(30):Nacos快速入门_第7张图片

 

 

第三步:发布配置

        在第二步点击“发布”,如下图,点击确定发布成功。

第四步:查询配置

SpringCloud(30):Nacos快速入门_第8张图片

2.2 nacos客户端获取配置

我们需要新增一个名为nacos-simple-demo的项目,坐标如下:

com.itheima.nacos
nacos‐simple‐demo
1.0‐SNAPSHOT

添加group ID为com.alibaba.nacos和artifact ID为nacos-client的starter。用于实现项目中使用Nacos来实现应用的外部化配置。

        
            com.alibaba.nacos
            nacos-client
            2.2.0
        

 

(1)完整的pom.xml配置如下



    4.0.0

    org.example
    nacos‐simple‐demo
    1.0-SNAPSHOT

    
        
            log4j
            log4j
            1.2.17
        
        
            org.slf4j
            slf4j-api
            1.7.7
        
        
            org.slf4j
            slf4j-log4j12
            1.7.7
        

        
            com.alibaba.nacos
            nacos-client
            2.2.0
        
    

注意:

如果不加org.slf4j和log4j,会报如下错误:

Exception in thread “main” java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

(2)获取外部化配置

新增java执行类,并在执行过程中获取配置信息:

package com.exmaple.demo;

import com.alibaba.nacos.api.NacosFactory;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.exception.NacosException;

import java.util.Properties;

public class SimpleDemoMain {
    public static void main(String[] args) throws NacosException {
        //nacos 地址
        String serverAddr = "192.168.222.144:8848";
        //Data Id
        String dataId = "nacos-simple-demo.yaml";
        //Group
        String group = "DEFAULT_GROUP";
        Properties properties = new Properties();
        properties.put("serverAddr",serverAddr);
        ConfigService configService = NacosFactory.createConfigService(properties);
        //获取配置,String dataId, String group, long timeoutMs
        String content = configService.getConfig(dataId, group, 5000);
        System.out.println(content);
    }
}

启动SimpleDemoMain,控制台得到以下内容:

SpringCloud(30):Nacos快速入门_第9张图片

说明获取配置成功。

你可能感兴趣的:(SpringCloud,spring,cloud,spring,后端)