SpringCloud系列(57)--将服务提供者注册进Nacos

前言:在上节内容中我们介绍了SpringCloud Alibaba中Nacos的安装和启动,而本节内容则是关于如何把服务提供者注册进Nacos里

1、创建一个服务提供者模块,命名为cloudalibaba-provider-payment9001
(1)在父工程下新建模块
(2)选择模块的项目类型为Maven并选择模块要使用的JDK版本
(3)填写子模块的名称,然后点完成即可完成创建

效果图:

(4)修改cloudalibaba-provider-payment9001子模块的pom.xml文件,然后reolad一下,下载依赖

例:

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>springcloud01</artifactId>
        <groupId>com.ken.springcloud</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>cloudalibaba-provider-payment9001</artifactId>

    <dependencies>
        <!--springcloud alibaba nacos-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--以下依赖都没写版本号,没写版本号的情况下会引用父项目的版本-->
        <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>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <!--lombok插件-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
2、为子模块添加名为application的yml配置文件(注:yml是官方推荐的配置文件格式,最好使用yml文件而不是properties文件)

效果图:

3、修改application.yml文件配置
bash 复制代码
server:
  port: 9001

spring:
  application:
    name: nacos-payment-provider
  cloud:
    nacos:
      discovery:
        #Nacos作为服务注册中心的地址
        server-addr: localhost:8848
management:
  endpoints:
    web:
      exposure:
        include: '*'
4、为cloudalibaba-provider-payment9001子模块新建一个主启动类,类名输入com.ken.springcloud.PaymentMain9001,然后创建即可

效果图:

5、编写cloudalibaba-provider-payment9001子模块的主启动类
java 复制代码
package com.ken.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@EnableDiscoveryClient
@SpringBootApplication
public class PaymentMain9001 {

    public static void main(String[] args) {
        SpringApplication.run(PaymentMain9001.class, args);
    }

}
6、在com.ken.springcloud包下新建一个名为controller的包

效果图:

7、然后在controller包里新建一个名为PaymentController的控制类

效果图:

8、编写PaymentController类
java 复制代码
package com.ken.springcloud.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class PaymentController {

    @Value("${server.port}")
    private String serverPort;

    @GetMapping("/ppayment/nacos/{id}")
    public String getPayment(@PathVariable("id") Integer id) {
        return "nacos registry,serverPort:" + serverPort + "\t id" + id;
    }

}
9、启动Nacos

下载和启动Nacos的教程在上一篇文章里,我这里不再赘述https://blog.csdn.net/m0_64284147/article/details/140364481

10、启动cloudalibaba-provider-payment9001服务

效果图:

11、登录nacos,查看服务注册情况

登录nacos,从服务列表里看到nacos-payment-provider,这证明cloudalibaba-provider-payment9001服务成功的注册进了nacos里


注:服务名称取决于spring.application.name配置的名字


12、点进相应服务的详情,可以看到服务的状况
(1)点击详情
(2)可以看到nacos-payment-provider服务所在的ip、端口、健康状态等等
13、根据cloudalibaba-provider-payment9001为模板新建一个名为cloudalibaba-provider-payment9002的模块

效果图:

14、启动cloudalibaba-provider-payment9002子模块
15、重新到Nacos里的服务列表查看服务的状态

可以看到nacos-payment-provider服务的实例从1个变成了2个

相关推荐
身如柳絮随风扬2 天前
Dubbo 与 Spring Cloud 终极对比:RPC 框架 vs 微服务生态
spring cloud·rpc·dubbo
一个有温度的技术博主2 天前
Spring Cloud 入门与实战:从架构拆分到核心组件详解
spring·spring cloud·架构
uNke DEPH2 天前
SpringCloud Gateway 集成 Sentinel 详解 及实现动态监听Nacos规则配置实时更新流控规则
spring cloud·gateway·sentinel
慕容卡卡2 天前
你所不知道的RAG那些事
java·开发语言·人工智能·spring boot·spring cloud
dLYG DUMS2 天前
Spring Cloud Data Flow 简介
后端·spring·spring cloud
Ken_11153 天前
SpringCloud系列(61)--Nacos之服务配置中心的介绍与使用
spring cloud
Ken_11153 天前
SpringCloud系列(62)--Nacos之命名空间、分组和DataID三者之间的关系
spring cloud
Ken_11153 天前
SpringCloud系列(63)--Nacos读取不同配置之DataID配置方案
spring cloud
Devin~Y3 天前
从Spring Boot到Spring AI:音视频AIGC内容社区Java大厂面试三轮连环问(含Kafka/Redis/安全/可观测性答案)
java·spring boot·redis·spring cloud·kafka·spring security·resilience4j
qqty12173 天前
springcloud springboot nacos版本对应
spring boot·spring·spring cloud