#### 什么是Nacos
Nacos 是阿里巴巴的开源的项目,Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
将使用Nacos作为微服务架构中的注册中心(替代:eurekba、consul等传统方案)以及配置中心(spring cloud config)来使用。
#### Nacos生态图
![file](https://img2018.cnblogs.com/blog/1602984/201909/1602984-20190925232558311-1904416345.jpg)
#### 搭建Nacos环境
下载最新地址:https://github.com/alibaba/nacos/releases
本章节使用的版本:nacos-server-1.1.3
下载完成之后,解压。根据不同平台,执行不同命令,启动单机版Nacos服务:
```
+ Linux/Unix/Mac:sh startup.sh -m standalone
+ Windows:cmd startup.cmd -m standalone
```
启动完毕后,访问:http://127.0.0.1:8848/nacos/ ,进行登录账号密码默认:nacos
nacos想当与之前的eureka注册中心,有了注册中心,我们现在快速实现一个服务注册
创建alibaba-nacos项目
引入pom.xml依赖
```
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.0.5.RELEASE
com.xiaobin
alibaba-nacos
0.0.1-SNAPSHOT
alibaba-nacos
Demo project for Spring Boot
1.8
org.springframework.cloud
spring-cloud-dependencies
Finchley.SR1
pom
import
org.springframework.cloud
spring-cloud-alibaba-dependencies
0.2.2.RELEASE
pom
import
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-alibaba-nacos-discovery
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
```
application配置文件
```
spring.application.name=nacos-test
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
server.port=10010
```
创建应用主类进行启动
```
@SpringBootApplication
@EnableDiscoveryClient
public class AlibabaNacosApplication {
public static void main(String[] args) {
SpringApplication.run(AlibabaNacosApplication.class, args);
}
@LoadBalanced
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
}
```
启动成功后,在nacos的控制台服务列表中就可以看到信息,效果图
![file](https://img2018.cnblogs.com/blog/1602984/201909/1602984-20190925232558765-1788764812.jpg)
在注册一个服务进行消费操作
创建alibaba_nacos_provider项目依赖和上文是一样的
配置application
```
spring.application.name=nacos-provider
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
```
添加Http接口进行测试
```
@SpringBootApplication
@EnableDiscoveryClient
@RestController
public class ProviderApp {
public static void main(String[] args) {
SpringApplication.run(ProviderApp.class);
}
@GetMapping("/get")
public String get(){
return "SpringCloud alibaba 我来啦...";
}
}
```
启动项目,会发现服务列表中多了nacos-provider
![file](https://img2018.cnblogs.com/blog/1602984/201909/1602984-20190925232558972-1513903978.jpg)
回到alibaba-nacos项目,添加TestController进行调用消费
```
package com.xiaobin.alibabanacos;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
/**
* 创建时间: 2019/9/25 23:02
* 备注:
* 码农自学交流小群:260532022,欢迎大家的加入,分享学习是一件开心事
**/
@RestController
public class TestController {
@Autowired
private RestTemplate restTemplate;
@GetMapping("/test")
public String test(){
return restTemplate.getForObject("http://nacos-provider/get", String.class);
}
}
```
访问 http://localhost:10010/test 接口请求
![file](https://img2018.cnblogs.com/blog/1602984/201909/1602984-20190925232559197-277920809.jpg)
#### 小结
一个 Nacos 就轻松搞定了,还捎带着配置管理中心,一举两得,何乐不为。
###### 码农自学交流小群:260532022,欢迎大家的加入,分享学习是一件开心事
原文地址:https://www.cnblogs.com/hy-xiaobin/p/11588340.html