黑马学SpringCloud:微服务&服务拆分


目录:

(1)学习路径

(2)认识微服务

(3)微服务对比

(4)认识微服务SpringCloud

(5)服务拆分 

 (6)服务查分-服务远程调用


(1)学习路径

黑马学SpringCloud:微服务&服务拆分_第1张图片

黑马学SpringCloud:微服务&服务拆分_第2张图片

黑马学SpringCloud:微服务&服务拆分_第3张图片

黑马学SpringCloud:微服务&服务拆分_第4张图片

黑马学SpringCloud:微服务&服务拆分_第5张图片

 (2)认识微服务

黑马学SpringCloud:微服务&服务拆分_第6张图片

黑马学SpringCloud:微服务&服务拆分_第7张图片

为了解决分布式架构的问题:出现了WbeService、ESB、Hession、Dubbo、SpringCloud等技术 

 黑马学SpringCloud:微服务&服务拆分_第8张图片

 黑马学SpringCloud:微服务&服务拆分_第9张图片

(3)微服务对比

黑马学SpringCloud:微服务&服务拆分_第10张图片

SpringCloudAlibab本质上讲是实现了SpringCloud的标准,可以认为是SpringCloud中的一部分。 

黑马学SpringCloud:微服务&服务拆分_第11张图片

黑马学SpringCloud:微服务&服务拆分_第12张图片

 (4)认识微服务SpringCloud

黑马学SpringCloud:微服务&服务拆分_第13张图片

 黑马学SpringCloud:微服务&服务拆分_第14张图片

(5)服务拆分 

黑马学SpringCloud:微服务&服务拆分_第15张图片

黑马学SpringCloud:微服务&服务拆分_第16张图片

黑马学SpringCloud:微服务&服务拆分_第17张图片

选择两个数据库,分别导入sql文件:

黑马学SpringCloud:微服务&服务拆分_第18张图片 Cloud_usert数据库表tb_user表:

 

黑马学SpringCloud:微服务&服务拆分_第19张图片 

 

cloud_order数据库中表tb_order表:

黑马学SpringCloud:微服务&服务拆分_第20张图片

导入文件:

黑马学SpringCloud:微服务&服务拆分_第21张图片 用户模块:

配置文件:

黑马学SpringCloud:微服务&服务拆分_第22张图片

 User对象:

黑马学SpringCloud:微服务&服务拆分_第23张图片

用户模块的controller:

黑马学SpringCloud:微服务&服务拆分_第24张图片

订单模块: 

 订单模块的配置文件:黑马学SpringCloud:微服务&服务拆分_第25张图片

订单Controller:

黑马学SpringCloud:微服务&服务拆分_第26张图片

 订单对象:

黑马学SpringCloud:微服务&服务拆分_第27张图片

分别运行这两个模块:

黑马学SpringCloud:微服务&服务拆分_第28张图片

在浏览器输入: 查询用户:

黑马学SpringCloud:微服务&服务拆分_第29张图片

 黑马学SpringCloud:微服务&服务拆分_第30张图片

查询订单: 

黑马学SpringCloud:微服务&服务拆分_第31张图片

 上面这两个模块复合微服务查分的单一原则,每个模块干不同的事,Order查订单,User服务查用户,并且数据库也做了分离

黑马学SpringCloud:微服务&服务拆分_第32张图片

 (6)服务查分-服务远程调用

上面的结果可以看出查询的订单用户为null ,我们想要也把用户信息查出来,能不能直接查数据库呢?不能的因为我们数据库也进行了拆分,只能向用户模块发起远程调用黑马学SpringCloud:微服务&服务拆分_第33张图片

我们需要在订单模块如果能像js代码一样,发起http请求 ,查询用户,订单模块在结合本地数据库查询的订单信息,就组合出了订单目标了,这样问题就定义成了如何在java代码里面发起http请求?

黑马学SpringCloud:微服务&服务拆分_第34张图片

需要使用RestTemplate这个类,来发请求: 

黑马学SpringCloud:微服务&服务拆分_第35张图片 黑马学SpringCloud:微服务&服务拆分_第36张图片

 在Order模块的主配置类中加入这个类:

黑马学SpringCloud:微服务&服务拆分_第37张图片

 黑马学SpringCloud:微服务&服务拆分_第38张图片

现在就可以使用这个类发起请求了:修改查询业务:

在修改OrderService:

黑马学SpringCloud:微服务&服务拆分_第39张图片

 订单:是有用户id信息的:

黑马学SpringCloud:微服务&服务拆分_第40张图片

 首先注入restTemplate,利用它的方法发情Get(getForObject)或者Post(postForObject)请求,他返回的是一个json的字符串,它可以帮你反序列化为对象类型,User.class黑马学SpringCloud:微服务&服务拆分_第41张图片

 重新启动项目:可以看到成功查到了用户的相关信息

黑马学SpringCloud:微服务&服务拆分_第42张图片

 黑马学SpringCloud:微服务&服务拆分_第43张图片

你可能感兴趣的:(html,前端)