1.基础环境:Nacos是一个易于使用的动态服务发现、配置和服务管理平台,用于构建云本地应用程序。Nacos 几乎支持所有类型的服务,如Dubbo/gRPC service、Spring Cloud RESTFul service or Kubernetes service。
2.Nacos提供四种主要功能。
- 服务发现和服务健康检查。Nacos简化了服务的注册和通过DNS或HTTP接口发现其他服务的过程。Nacos还提供服务的实时健康检查,以防止向不健康的主机或服务实例发送请求。
- 动态配置管理。动态配置服务允许您跨所有环境以集中和动态的方式管理所有服务的配置。Nacos不需要重新部署应用程序和服务配置更新,这使得配置更改更高效和敏捷。
- 动态域名服务。Nacos支持加权路由,使您更容易在数据中心的生产环境中实现中间层负载平衡、灵活的路由策略、流控制和简单的DNS解析服务。它帮助您轻松实现基于DNS的服务发现,并防止应用程序耦合到特定于供应商的服务发现api。
- 服务和元数据管理。Nacos提供了一个易于使用的服务仪表板,帮助您管理服务元数据、配置、kubernetes、 DNS、服务健康状况和度量统计数据。
3.Nacos下载:nacos-server-0.8.0.tar.gz。解压此安装包并且启动(Windows默认是单机模式启动不会报错、Linux默认是集群启动,如果没有集群的配置文件会报错,Linux单机启动命令:sh startup.sh -m standalone).。启动成功登陆控制台http://127.0.0.1:8848/nacos/(nacos/nacos)。
4.创建一个demo工程(https://gitee.com/nizicoder/open-cloud-platform.git)
引入依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
配置文件:
##数据字典
spring.application.name=moc-config
##nacos服务器配置
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
创建NacosConfigApplication.java
@SpringBootApplication
public class NacosConfigApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConfigApplication.class, args);
}
}
@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {
@Value("${project}")
private String project;
@RequestMapping("/get")
public String get() {
return project;
}
}
配置文件推送:
POST http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=moc-config.properties&group=DEFAULT_GROUP&content=project=moc
post成功返回true的标志。
获取配置参数
GET http://127.0.0.1:18084/config/get