实现一个简单的SpringCloud服务详细步骤
简介
本篇博文主要讲述如何实现一个简单的SpringCloud服务,并实现服务消费者调用。
源码地址
开发环境
- JDK1.8
- Maven3
- IntelliJ IDEA
使用技术
- Spring Boot
- Spring Cloud
- Eureka
- Feign
实现步骤
-
打开IDEA,创建一个父级Maven项目
点击下一步,输入相关信息,完成父工程创建,src目录我们不需要使用,可以删除,结构如下图所示
-
创建服务注册中心。在当前项目中新建模块
eureka-server
-
新建模块
-
选择Spring Initializr,选择JDK版本
-
输入相关信息,点击下一步
-
选择 Eureka Server 的依赖,一直点击下一步,完成创建
-
项目结构如下
-
我这里将
application.properties
文件修改为application.yml
,个人觉得YAML看起来更清晰。进行如下的配置
-
添加注解,启用Eureka
-
启动项目,使用浏览器访问,可以看到如下界面,服务启动成功
- 创建服务提供者
eureka-client1
-
创建过程前面几步与上述步骤相同,在选择依赖时不同
-
一直点击下一步,完成
eureka-client1
的创建,修改application.properties
为application.yml
-
配置
application.yml
-
添加相关注解,注册服务,并实现一个简单的接口
-
先启动
eureka-server
,然后启动eureka-client1
,访问注册中心,可以看到我们注册的服务
SERVICE-HI
即是我们在配置文件中定义的服务名,Eureka是用服务名作为唯一的标识,后边可以看到我们服务的地址信息 -
输入
localhost:18762/hi
,可以访问到刚才定义到服务
- 以同样的方式创建
eureka-client2
,端口号改为18763
-
按照上述步骤修改配置文件和定义接口等
-
先启动
eureka-server
,然后启动eureka-client1
、eureka-client2
访问注册中心,可以看到我们注册的服务
- 创建服务消费者
service-feign
,使用它进行服务的消费
在上述的步骤中,我们调用服务依旧是使用的服务本身的地址,并没有体现服务注册与发现以及负载均衡等,我们需要创建一个服务消费者,来进行消费,步骤如下
-
与上述步骤类似,创建一个
service-feign
模块,选择依赖与上述不同
-
一直点击下一步,完成创建,将
application.properties
修改成application.yml
文件并配置
-
在启动类中配置相关注解,开启Feign功能
-
创建一个Feign接口,指定调用的服务名
-
创建一个对外的接口,调用Feign客户端提供的
HiInterface
的服务
-
先启动
eureka-server
,在分别启动其他三个服务,输入localhost:18761
可以看到注册的服务
-
使用
locahost:18764/hi
多次调用服务,会发现我们会在18762
、18764
两个服务之间交替调用
总结
这里仅仅是一个简单的Demo,实现了简单的服务注册与调用,记录学习过程,不涉及到相关的高级配置