1,下载服务

源文件下载地址:IT虾米网

我测试时候下载到某云盘地址:链接:https://pan.baidu.com/s/1_I5yX578x1nY4ZZ_u-WU7A  密码:27ue

2,安装

放到Linux服务器上,解压,tar xzvf  nacos-server-1.3.1.tar.gz ,or unzip nacos-server-$version.zip 然后 cd nacos/bin 然后运行启动脚本,Linux/Unix/Mac 环境是 sh startup.sh -m standalone ;Windows是 cmd startup.cmd

3,访问nacos服务中心

地址:IT虾米网 ,有个登录界面,用户名和密码都是nacos默认值。

4,jar依赖

使用的jar版本

maven的 
<!-- https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client --> 
<dependency> 
    <groupId>com.alibaba.nacos</groupId> 
    <artifactId>nacos-client</artifactId> 
    <version>1.3.1</version> 
</dependency> 
gradle的 
    // https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client 
    compile group: 'com.alibaba.nacos', name: 'nacos-client', version: '1.3.1' 

IT虾米网 远程maven仓库,自己可以找对应的依赖版本jar

5,Java sdk 来使用nacos实现配置的增删改查的例子

import com.alibaba.nacos.api.NacosFactory; 
import com.alibaba.nacos.api.PropertyKeyConst; 
import com.alibaba.nacos.api.config.ConfigService; 
import com.alibaba.nacos.api.config.listener.Listener; 
import com.alibaba.nacos.api.exception.NacosException; 
import org.junit.Before; 
import org.junit.Test; 
 
import java.util.Properties; 
import java.util.concurrent.Executor; 
import java.util.concurrent.TimeUnit; 
 
/** 
 * 测试 nacos 配置中心 
 */ 
public class NacosTest { 
    private ConfigService configService; 
    private String dataId = "citic_test_lxk"; 
    private String group = "CITIC"; 
 
    @Before 
    public void init() { 
        try { 
 
            Properties properties = new Properties(); 
            String serverAddr = "192.168.1.191:8848"; 
            properties.put(PropertyKeyConst.SERVER_ADDR, serverAddr); 
            String nameSpace = "test"; 
            properties.put(PropertyKeyConst.NAMESPACE, nameSpace); 
 
            configService = NacosFactory.createConfigService(properties); 
        } catch (NacosException e) { 
            e.printStackTrace(); 
        } 
    } 
 
    @Test 
    public void pushConfig() { 
        try { 
            String content = NacosServerConfigBean.CONFIG; 
            boolean b = configService.publishConfig(dataId, group, content); 
            System.out.println(b); 
        } catch (NacosException e) { 
            e.printStackTrace(); 
        } 
 
    } 
 
    @Test 
    public void deleteConfig() throws NacosException { 
        boolean isRemoveOk = configService.removeConfig(dataId, group); 
        System.out.println(isRemoveOk); 
    } 
 
    @Test 
    public void listenConfig() throws InterruptedException { 
        try { 
            configService.addListener(dataId, group, new Listener() { 
                @Override 
                public void receiveConfigInfo(String configInfo) { 
                    System.out.println("receive:\r\n" + configInfo); 
                } 
 
                @Override 
                public Executor getExecutor() { 
                    return null; 
                } 
            }); 
        } catch (NacosException e) { 
            e.printStackTrace(); 
        } 
        //让主线程不退出,因为订阅配置是守护线程,主线程退出守护线程就会退出。 
        TimeUnit.HOURS.sleep(1); 
    } 
 
    @Test 
    public void getConfig() { 
        try { 
            //获取配置 
            String content = configService.getConfig(dataId, group, 5000); 
            System.out.println(content); 
        } catch (NacosException e) { 
            e.printStackTrace(); 
        } 
    } 
}

默认走的是public的nameSpace,可以设置。

运行效果:略

6,nacos配置中心优点

在线编辑实时发布生效历史版本一键回滚支持集群命名空间,。。。不需要非的引入Spring cloud等组件的,可以直接单独的引入nacos配置中心来管理非Spring项目的配置文件。单独使用这个配置中心的功能。来实现配置的管理。灵活,很灵活。方便,很方便,在页面上看配置和改配置,,不用在Linux命令行苦苦挣扎,vi半生不熟。还能很方便的回退配置,查看历史版本,利于排查问题。一个配置中心,一份配置,n个模块都可以来访问,支持集群。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!