spring-cloud-alibaba学习实例(1)--集成nacos
最近公司要使用spring-cloud-alibaba的解决方案,所以从头开始看这一块,中间踩了无数的坑。所以写了这个系列博客,记录下来,希望小伙伴能够避免这些坑。我会把整个技术栈,按照从易到难顺序,把所有组件一个个集成进来,希望给大家带来帮助。先从最简单的nacos开始。
首先,介绍一下spirng-cloud-alibaba整个技术栈,各个组件的版本对应关系
官网的组件版本对应图
根据上图选择合适的版本, 我这边选择的是最新版,2.2.1.RELEASE
其次,想要使用spring-cloud-alibaba,还需要spring cloud和spring boot的支持,各个版本的对应关系,如下图
版本一定要选择正确,不然会出各种稀奇古怪的bug,一不小心,就让你怀疑人生。
下面,我们从0开始建一个,spring-cloud-alibaba项目。
环境:jdk 1.8
idea
sping-cloud-alibaba 2.2.1.RELEASE
sping-boot 2.2.5.RELEASE
sping-cloud Hoxtom.SR3
1,建立一个idea项目 把nacos集成进来。alibaba-project-parent
在pom.xml,引入jar版本依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2建立一个子模块,demo-nacos
在pom.xml中引入jar依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
新建application.yml文件
server:
port: 8080
spring:
application:
name: demo-nacos
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
编写启动类
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConsumerApp {
public static void main(String[] args) {
SpringApplication.run(NacosConsumerApp.class,args);
}
注解说明
@EnableDiscoveryClient 这个注解开启nacos客户端,项目启动的时候,会根据application.yml中nacos配置中的server-addr,自动将项目注册到nacos服务器上。
3 官网下载nacos-server
下载地址https://github.com/alibaba/nacos/releases
我使用的zip版,解压后,修改配置文件
首先执行,在本地mysql数据执行nacos-mysql.sql 脚本,这样在nacos配置的文件,就可以保存到本地数据
修改application.properties中的配置信息,改为使用本地数据库。修改结果如下图。
只修改这几个配置就ok了
然后启动nacos-server
登录nacos-server 默认账号密码 nacos/nacos
http://localhost:8848/nacos
4 启动demo-nacos 项目
出现这个就说明,服务已经注册到了nacos上面
我们去nacos-server上面看下
好了,我们可以使用nacos的服务注册与发现功能了。下一个,演示nacos最为配置中心,如何搭建。
github源代码地址https://github.com/userliyazhou/spirng-cloud-alibaba-project-demo/tree/master/alibaba-project-parent