欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring-cloud-alibaba学习实例(1)--集成nacos

程序员文章站 2022-06-13 19:03:54
...

最近公司要使用spring-cloud-alibaba的解决方案,所以从头开始看这一块,中间踩了无数的坑。所以写了这个系列博客,记录下来,希望小伙伴能够避免这些坑。我会把整个技术栈,按照从易到难顺序,把所有组件一个个集成进来,希望给大家带来帮助。先从最简单的nacos开始。
首先,介绍一下spirng-cloud-alibaba整个技术栈,各个组件的版本对应关系
官网的组件版本对应图
spring-cloud-alibaba学习实例(1)--集成nacos
根据上图选择合适的版本, 我这边选择的是最新版,2.2.1.RELEASE
其次,想要使用spring-cloud-alibaba,还需要spring cloud和spring boot的支持,各个版本的对应关系,如下图
spring-cloud-alibaba学习实例(1)--集成nacos
版本一定要选择正确,不然会出各种稀奇古怪的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
spring-cloud-alibaba学习实例(1)--集成nacos
在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
spring-cloud-alibaba学习实例(1)--集成nacos
我使用的zip版,解压后,修改配置文件
spring-cloud-alibaba学习实例(1)--集成nacos
首先执行,在本地mysql数据执行nacos-mysql.sql 脚本,这样在nacos配置的文件,就可以保存到本地数据
spring-cloud-alibaba学习实例(1)--集成nacos
修改application.properties中的配置信息,改为使用本地数据库。修改结果如下图。
spring-cloud-alibaba学习实例(1)--集成nacos
只修改这几个配置就ok了
然后启动nacos-server
spring-cloud-alibaba学习实例(1)--集成nacos
spring-cloud-alibaba学习实例(1)--集成nacos
登录nacos-server 默认账号密码 nacos/nacos
http://localhost:8848/nacos
spring-cloud-alibaba学习实例(1)--集成nacos
spring-cloud-alibaba学习实例(1)--集成nacos
4 启动demo-nacos 项目
spring-cloud-alibaba学习实例(1)--集成nacos
出现这个就说明,服务已经注册到了nacos上面
我们去nacos-server上面看下
spring-cloud-alibaba学习实例(1)--集成nacos
好了,我们可以使用nacos的服务注册与发现功能了。下一个,演示nacos最为配置中心,如何搭建。
github源代码地址https://github.com/userliyazhou/spirng-cloud-alibaba-project-demo/tree/master/alibaba-project-parent
spring-cloud-alibaba学习实例(1)--集成nacos