Spring Cloud入门
- 简介
微服务是由springboot开发的一个个的模块,是一个个独立的进程
springcloud是微服务全家桶
spring cloud通过网关调用多个负载均衡(微服务)
spring boot是以数字作为版本,springcloud是以字目作为版本
-
spring和spring cloud技术选型
-
学习路线
-
参考博客文档
视频教程 -> bili -> https://www.bilibili.com/video/BV18E411x7eT?spm_id_from=333.999.0.0&vd_source=616dcacc6c495ac8ac5dcb70471db50b
源码 -> gitee -> https://gitee.com/cunjinFS/SpringCloud
源码 -> github -> https://github.com/TNoOne/cloud2020
笔记 -> 语雀 -> https://www.yuque.com/u12017535/vg8rkx/scrdbr
博客 -> csdn -> https://blog.csdn.net/qq_41211642/category_9788558.html
博客 -> csdn -> https://blog.csdn.net/u011863024/article/details/114298270
- 构建项目
构建父工程,需注意字符编码和jkd版本
配置父工程的pom,当父工程中指定依赖的版本后,子模块引入依赖时,可不用写版本号,也可自己指定版本号
需求:订单模块order可以调用支付模块payment
cloud-provider-payment8001:创建支付模块作为子模块:创建模块、配置pom、配置yml、创建启动类、编写业务类;该子模块的端口是8001,用来操作数据库
Run DashBoard:每个子模块可单独启动,启动后在左下角显示
热部署Devtools:后端代码有修改时,自动重启服务器
cloud-consumer-order80:创建子模块订单模块:创建模块、配置pom、配置yml、创建启动类、编写业务类;该子模块的端口是80,直接调用支付模块
在订单模块通过restTemplate调用支付模块,使用:在配置类配置后,直接在控制层使用;支付模块的接口需加@RequestBody对请求参数解析
启动8001支付模块,浏览器输入:http://localhost:8001/payment/get 可以获取到数据
在80订单模块使用restTemplate配置如下,启动80模块后浏览器输入:http://localhost:80/consumer/payment/get 同样也可以获取到数据,相当于上面的访问地址
cloud-api-common:创建一个子模块用于存放其他模块中重复的类,使用maven进行clean、install;其他模块中删除多余代码,引入该子模块的包