Nacos可以用于服务发现、配置中心、DNS服务等功能,使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务的发现、管理、共享、组合更加容易。
详细文档见官方文档:
https://nacos.io/zh-cn/docs/what-is-nacos.html,本系列文章只做一些Nacos特性的学习与应用。
首先,下载nacos服务端,地址如下:
https://nacos.io/zh-cn/docs/quick-start.html
下载之后解压来到bin目录下,进入cmd命令环境,启动项目cmd startup.cmd
如果启动不了,或者启动失败,就百度找一下原因,我出现得错误就是让我去这个startup.cmd编辑里面将集群模式改成这个standalone
测试是否nacos可以正常使用,下载了一个curl
1.去官网下载curl的安装包https://curl.haxx.se/download.html
根据自己电脑情况下载32位或者64位的。
2.下载完之后解压到指定目录
启动之后输入
curl -X post "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"
获取用
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
这样就基本可以了
入门程序,java代码获取注册中心配置文件里面的内容。
新建一个mavan项目
package com.example;
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 client 远程获取nacos服务上得配置信息
//dataid
String dataId="data-simple-demo.yaml";
//group
String group= "DEFAULT_GROUP";
//nacos serviceAddr
String serverAddr = "127.0.0.1";
Properties properties=new Properties();
properties.put("serverAddr",serverAddr);
//获取配置
ConfigService configService= NacosFactory.createConfigService(properties);
String config=configService.getConfig(dataId,group,5000);
System.out.println(config);
}
}
效果图如下:
nacos监听效果的实现
package com.example;
import com.alibaba.nacos.api.NacosFactory;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.config.listener.Listener;
import com.alibaba.nacos.api.exception.NacosException;
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import java.util.Properties;
import java.util.concurrent.Executor;
public class SimpleDemoMain {
public static void main(String[] args) throws NacosException, InterruptedException {
//使用nacos client 远程获取nacos服务上得配置信息
//dataid
String dataId="data-simple-demo.yaml";
//group
String group= "DEFAULT_GROUP";
//nacos serviceAddr
String serverAddr = "127.0.0.1";
Properties properties=new Properties();
properties.put("serverAddr",serverAddr);
//获取配置
ConfigService configService= NacosFactory.createConfigService(properties);
String config=configService.getConfig(dataId,group,5000);
System.out.println(config);
configService.addListener(dataId, group, new Listener() {
@Override
public Executor getExecutor() {
return null;
}
@Override
public void receiveConfigInfo(String s) {
System.out.println(s);
}
});
while (true){
Thread.sleep(2000);
}
}
}