概述
随着Spring Cloud 对Eureka一些组件的停止维护,我们需要寻找一些替代方案,随之而生的是alibaba对一些组件的开源,nacos便是其中一个我们首先来小的demo来集成一下Nacos
Nacos服务器下载
首先需要下载一下nacos的服务端,我用的是1.4.2版本的微服务,需要的朋友可用在如下链接中下载
解压之后,在bin目录下,双击startup.cmd,即可启动nacos服务器
如下
记得服务器已standalone启动
父工程模块搭建
首先用idea创建一个新项目,例如
在父工程中引入如下,pom
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
</dependencies>
<!--仅作版本管理 -->
<dependencyManagement>
<dependencies>
<!-- springcloudalibaba版本管理 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring.cloud.alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- springboot版本管理 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--spring cloud版本管理 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
这里需要注意一点,spring cloud alibaba、spring cloud、springboot之间的版本关系,一定要遵从官方的版本说明,否则会出现各种无法预测的错误 加个粗,一定要注意,一定要注意,一定要注意,事情说三遍
Order微服务
好了接下来我们来创建order模块,
首先引入pom文件
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- nacos服务注册 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
我们可以看到引入了nacos jar包,也就集成了nacos,
接下来配置好yml和启动类就好了
yml:
server:
port: 8020
#应用名称
spring:
application:
name: order-service
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
启动类:
//@EnableDiscoveryClient
@SpringBootApplication
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class,args);
}
}
这里说明一点,由于使用的是较新的版本,所以,原来开启注册中心需要使用是@EnableDiscoveryClient就可以不用了,原因是,在新版本中已经自动加进去了
controller类:
@RestController
@RequestMapping("/test")
public class OrderController {
@GetMapping
public String test(){
return "hello spring cloud alibaba";
}
}
我们来可以在nacos的可视化界面,127.0.0.1:8848/nacos,看到order服务注册上来了
启动服务测一下,可以看到已经没有问题了