SpringBoot整合Nacos注册中心

#### 什么是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,欢迎大家的加入,分享学习是一件开心事

猜你喜欢

转载自www.cnblogs.com/hy-xiaobin/p/11588340.html