Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的 动态服务发现、配置管理和服务及元数据管理平台。
简而言之,Nacos就是 注册中心和配置中心。
Nacos的作用 = Spring Cloud Eureka(注册中心) + Spring Cloud Config(配置中心)
-
通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的动态变更。
-
通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-discovery 实现服务的注册与发现
可以从 最新稳定版本 下载 nacos-server-$version.zip 包
启动nacos服务启动命令,在nacos/bin 目录下执行 (standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
访问:http://localhost:8848/nacos
用户名密码:nacos/nacos
服务的发布和调用首先创建两个工程:nacos-provider、nacos-consumer 都继承springboot工程。
ProviderController代码如下:
@RestController
public class ProviderController {
@Value("${myName}")
private String name;
@GetMapping("hello")
public String hello(){
return "hello " + name;
}
}
myName: nacos
server:
port: 18070
org.springframework.boot spring-boot-starter-webcom.alibaba.cloud spring-cloud-starter-alibaba-nacos-discoveryorg.springframework.cloud spring-cloud-dependenciesHoxton.SR2 pom import com.alibaba.cloud spring-cloud-alibaba-dependencies2.1.0.RELEASE pom import
在 application.yml 中配置nacos服务地址和应用名
myName: nacos
server:
port: 18070
spring:
application:
name: nacos-provider
cloud:
nacos:
discovery:
server-addr: localhost:8848
通过Spring Cloud原生注解 @EnableDiscoveryClient 开启服务注册发现功能
@SpringBootApplication
@EnableDiscoveryClient
public class NacosProviderApplication {
public static void main(String[] args) {
SpringApplication.run(NacosProviderApplication.class, args);
}
}
效果:



