实现一个简单的SpringCloud服务详细步骤
实现一个简单的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,实现了简单的服务注册与调用,记录学习过程,不涉及到相关的高级配置