1. 注意 spring boot 和spring cloud alibaba nacos 对应的版本
官网地址 :
https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
组件 | 版本 |
---|---|
spring boot | 2.4.2 |
nacos | 2.0.4 |
spring cloud | 2020.0.1 |
spring cloud alibaba | 2021.1 |
之所以 选择 spring boot 2.4.2 原因是 因为和swagger2 整合 高版本会有问题。
还有需要注意的有
pom 文件 官网建议 可以在官网里面看到
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- SpringCloud Alibaba 微服务 -->
<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>
<!-- Alibaba Nacos 配置 -->
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>${alibaba.nacos.version}</version>
</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>
2. 服务注册整合
2.1 在子项目中对应的pom
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
可以看到 这个包下面的 包对应的jar
2.2 写注册中心的地址
spring:
cloud:
nacos:
discovery:
server-addr: http://192.168.1.180:8848
application:
name: platform-api-schedule
2.3 启动类写注解
@EnableDiscoveryClient
@SpringBootApplication
@EnableDiscoveryClient
public class ScheduleApp {
public static void main(String[] args) {
SpringApplication.run(ScheduleApp.class, args);
}
}
3. 启动服务就能看到服务已经注册进去了
5.docker 安装nacos
docker pull nacos/nacos-server:1.2.0
5.1 启动nacos
docker run --env MODE=standalone --name nacos --restart=always -d -p 8850:8848 nacos/nacos-server:1.2.0
- MODE=standalone 单机版
- --restart=always 开机启动
- -p 8850:8848 映射端口 8850 宿主机端口 8848 是docker 中nacos 的端口
- -d 创建一个守护式容器在后台运行