首页 > 经验记录 > 框架 > Come on,搭一个Gradle多模块管理的 Spring Cloud Finchley 分布式微服务项目

Come on,搭一个Gradle多模块管理的 Spring Cloud Finchley 分布式微服务项目

Spring Cloud 是在 Spring Boot 基础上构建的,用于快速构建分布式系统的通用模式的工具集

 

别的理论、使用场景、历史之类的也不说了,直接切入主题。

这里,我就来架构一个简单 Spring Cloud 的应用。

 

既然要用,都9102年了,当然要与时俱进,我这里选择的是基于Spring Boot 2.0.x 的Spring Cloud Finchley。

开发工具: IDEA

JDK version: 1.8

具体的框架版本号: Spring Boot 2.0.5 RELEASE、Spring Cloud Finchley.SR3

项目管理工具: gradle  ( 9102年了,maven这xml配置实在是够恶心的了

 

目前只是最原始的初版,使用RestTemplate简单的调用一下别的服务接口。 至于服务注册、发现、跟踪、容错、微服务网关、负载均衡之类的。之后也会慢慢写出文章的。

先把项目给搭起来。之后再要添加新的依赖增加新的功能就就简单许多了。

 

OK,进入正题。

先打开 IDEA 创建一个 Gradle 的Module。我创建的模块名字叫做 sc-demo-microservice

这个是根/父模块, 用于管理一个个的微服务。他可以在 ‘subprojects’ 这个代码块中配置所有子模块通用的配置。

我的build.gradle文件:

 

可以看到我给所有的子模块添加了web、mysql、mybatis、Actuator的依赖。

Actuator这个东西是用于服务监控和管理的,这里不表,具体的可以看这个文章

 

gradle加载完毕后这个父模块就创建好了。gradle会自动给你生成一个src文件夹,删掉就行,也可以不删。反正父模块里边是不会放代码的。

 

然后就是建立子 module 了,子module 的创建是直接在父 module 上边右键 –> new Module 来进行创建的。当然,也是Gradle项目。

建好后将子 module  的 build.gradle文件里的东西全删掉,只留这个:

这个是用来添加该模块独有的依赖的。我这暂时为空。

 

我创建了一个用户微服务、一个电影微服务。里边都有具体的Dao、Service、Entity,这里就不贴了,太占位置。

我这里实现的RPC是通过Spring提供的RestTemplate,链接都是写死的,之后当然会优化。这里只是把项目运转起来。

两边的Controller层:

用户:

 

电影:

 

这样子配好,启动服务时先启动 User 服务,然后启动 Movie 服务,然后通过浏览器输入 Movie 服务的接口获得数据。

最后结果是如愿以偿的得到了数据。而这份数据是 Movie 服务通过 rest 请求 User 服务所得来的。

 

他们的yml文件,因为长得差不多,所以就只贴这一个了

 

 

我的项目地址: github

里边sql语句、配置文件啥的都有。是个完整的项目。

结构如下:

 

下一篇文章是Eureka


2 COMMENTS

EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00