SpringCloud项目的创建以及简单使用nacos(后续出其他组件的整合)

文章详细介绍了如何使用SpringCloud搭建项目,包括创建Maven项目、配置Nacos作为服务注册中心和配置中心,以及对比Nacos与Eureka的区别。文中还提到了Eureka已不再开源,而Nacos活跃且有良好的社区支持。最后,通过实际操作展示了在Provider和Consumer模块中如何配置和测试Nacos的使用。
摘要由CSDN通过智能技术生成

1.关于springcloud的理解

个人觉得springcloud里面的springboot模块类似于springboot项目中的不同的模块。

2.开始创建maven项目,直接点击下一步(先创建父工程,子工程需要那个就再去添加)

创建项目的名字,点击完成

创建完成之后,需要配置maven的路径(文件->设置,输入maven),如果配置好了的就不需要这一步

最终springcloud的父工程雏形(可以删除src的目录)

3.关于nacos与eureka的区别与现在使用情况

使用情况:springcloud分为springcloud 原生版本和springcloud alibaba版本,springcloud 原生版本服务注册组件就是用的eureka,现在eureka已经没有开源了,所以可能会出现一些问题,自己无法太好的解决。而nacos的话,一直在社区比较活跃(开源),就是有问题都可以解决,无需掉头发的解决某些疑难杂症。

nacos与eureka的区别

1)nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式

2)临时实例心跳不正常会被剔除,非临时实例则不会被剔除

3)nacos支持服务列表变更的消息推送模式,服务列表更新更及时

4)nacos集群默认采用AP(高可用,分区容错性)方式,当集群中存在非临时实例时,采用CP(一致性,分区容错性)模式;Eureka采用AP(高可用,分区容错性)方式

4.springcloud整合nacos

  1. 先去下载nacos,地址为:https://github.com/alibaba/nacos/releases 分为window与linux压缩包,我先是在本地配置与使用

2.下载完成之后,解压到文件夹,然后通过window+R输入cmd,进入nacos的bin目录,通过命令启动nacos。(你也可以通过conf文件夹里面的application.properties修改账号和密码)

3.浏览器启动nacos,输入密码登录进去(默认账号和密码都是nacos)

4.springcloud开始配置nacos

  1. 先配置父工程里面的pom.xml的jar包版本(直接复制,放在里面就行了)

<dependencyManagement>
        <dependencies>
            <!--spring-boot-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.1.2.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- spring-cloud -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- spring-cloud-alibaba -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.1.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

2.创建子模块nacos的provider模块(也是创建一个maven项目就行了)

3.创建nacos的consumer模块(跟第2步一样的操作,只是模块名字不一样),最终如图下

4.开始配置provider模块的pom文件与配置

<dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--nacos注册中心-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--Nacos配置中心-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

在resources创建一个bootstrap.properties的文件,里面的配置信息如下

spring.application.name=nacos-provider
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.file-extension=properties

server.port=1128

在main下的java包下新建软件包,添加一个启动类,启动成功如下

最后启动成功之后在nacos服务管理是否有nacos-provider的这个服务

5.开始配置consumer模块的pom文件与配置

<dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.0</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--注册中心-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--Nacos配置中心-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
    </dependencies>

    <build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
    </build>

在resources创建一个bootstrap.properties的文件,里面的配置信息如下


spring.application.name=nacos-comsumer
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
#可以加载同一个namespace下面的不同group的多个配置文件
spring.cloud.nacos.config.ext-config[0].data-id=database.properties
spring.cloud.nacos.config.ext-config[0].group=GROUP_A
spring.cloud.nacos.config.ext-config[0].refresh=true
spring.cloud.nacos.config.ext-config[1].data-id=log.properties
spring.cloud.nacos.config.ext-config[1].group=GROUP_A
spring.cloud.nacos.config.ext-config[1].refresh=true
#可以加载当前group下面的多个配置文件
#spring.cloud.nacos.config.file-extension=properties
#spring.cloud.nacos.config.shared-dataids=database.properties
#spring.cloud.nacos.config.refreshable-dataids=database.properties
server.port=1121

在main下的java包下新建软件包,添加一个启动类,启动成功如下

最后启动成功之后在nacos服务管理是否有nacos-consumer的这个服务

6.测试nacos是否成功运行

首先在provider下面创建一个类,进行代码的编写,编写完需要重启该服务

在consumer里面调用服务,看是否拿到输出的语句,写完之后也需要重启

最后测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~渊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值