Spring Cloud Alibaba系列-第四节-创建生产者与消费者服务,注册到Nacos监控服务
目录
观博有逻辑,导航来相助《Spring Cloud Alibaba系列-目录导航》
本章创建父工程,生产者服务,消费者服务,模拟微服务之间的调用。在本示例中,生产者代表服务的提供方,消费者代表服务的调用方
1. 创建父工程
1.1 创建父maven工程
使用idea ,File->New->Project如下图,点击next
填写GroupId与ArtifactId
添写项目名与项目路径后点击Finish
由于创建的是父工程,因此删除src目录,删除后的项目目录如下:
1.2 修改父工程pom文件
<?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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.run.ayena</groupId>
<artifactId>service-cloud</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<!--版本管理-->
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR1</spring-cloud.version>
<boot.version>2.1.1.RELEASE</boot.version>
<alibaba.cloud.version>2.1.0.RELEASE</alibaba.cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${alibaba.cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2. 创建生产者服务
2.1 创建服务生产者工程
如下图:点击项目右键,New->Module
创建方式与父工程相同,创建后的工程目录如下:
2.2 修改pom文件
创建service-provider-7001模块后,修改此模块的pom文件如下:
<?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>service-cloud</artifactId>
<groupId>com.run.ayena</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>service-provider-7001</artifactId>
<dependencies>
<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>
</dependencies>
</project>
2.3 编写生产者服务代码
创建以下三个文件:
创建一个controller用于接收http请求,用于服务测试
在配置文件中增加端口号,服务名称,Nacos注册地址
启动服务: (启动生产者服务之前,应先启动nacos服务)
如下图:代表provider-7001服务启动成功,并且已经注册到nacos
2.4 nacos页面查看生产者服务
打开nacos页面查看服务详细:
3 创建消费者服务
3.1 创建消费者工程
与第一个模块创建方式相同,名字为service-consumer-8001,项目目录结构如下:
3.2 修改pom文件
<?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>service-cloud</artifactId>
<groupId>com.run.ayena</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>service-consumer-8001</artifactId>
<dependencies>
<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>
</dependencies>
</project>
3.3 编写消费者服务代码
application.properties文件如下:端口号,应用名称,Nacos的注册地址
ConsumerApplication.java如下:
下面是初始化RestTemplate(对http的封装)实例,并且加载到spring 容器,用于执行http请求
消费者的restful接口,使用restTemplate进行请求:
启动service-consumer-8001:
3.4 Nacos中查看消费者服务
在nacos控制台中查看,consumer-8001服务已经正常
在浏览器出入http://localhost:8001/echo/1111,返回结果如下图
综上,生产者服务和消费者服务都已经创建完毕,并且注册到Nacos上。此服务是下面章节的基础服务,下面讲述的sentinel, gateway等都以此为模板逐步进行完善
本文地址:https://blog.csdn.net/weixin_39146499/article/details/109493137
上一篇: 玩家级ITX 火鸟小巨蛋机箱正式发布
下一篇: 固态硬盘只看协议? 不懂这些也是妥妥被坑