主流的微服务架构:
5:
6:
8(可做可不做):
跳过单元测试(不一定要做):
要构建一个支付模块,主要步骤:
1:
主工程的pom中:
新建的支付模块中的pom文件:
3:
4:
创建数据库表:
创建实体类:
创建一个用于给前段返回消息的实体类:
创建dao:
创建映射文件:
创建service接口:
@Resource相当于@Autowire,就是这个是java自带的
创建controller:
使用postman:
===============
热部署自动化:
在子模块中依赖之前已经引入了:
在主工程中加入插件,之前也已经做了:
idea设置:
重启idea就可以了。
============
建一个客户模块:
创建实体类:
复制上个模块的就好:
为了实现模块之间的的调用要使用RestTemplate
创建一个配置类,然后注入容器:
创建controller:
============
创建一个新工程,把子工程中重复的部分都提取出来:
改pom:
把重复的beans复制过来:
然后进行maven的clean和install命令:
删除子工程中的重复部分,然后引入公共工程的依赖:
工程修改后的样子:
====
加第一个组件:服务注册中心:
第一个Eureka:
新建工程:
改pom:
创建yml:
主程序:
@EnableEurekaServer表明由我这个主程序来负责服务注册
===
在其他提供服务的子模块中加入Eureka服务注册中心客户依赖:
改yml:
主程序添加客户端标识注解:
====
在80客户子模块上也要注册Eureka:
引入依赖:
改yml:
加注解:
补充个小点:
=====
为了打造服务集群,创建eureka—server7002:
pom:
修改C盘配置文件:
7001和7002两个模块的yml都要改:
7001yml:
创建主启动类:
修改80和8001的yml,把他们注册进集群:
====
创建8002模块:
修改pom,跟8001的pom的依赖一样
改yml:
然后下面的代码都从8001模块中复制过来。
然后修改8001和8002中的代码,从而来区分是从哪个端口提供的服务:
启动测试:
80客户端的代码要改一下(是从服务注册中心网站上复制下来的名字):
主程序加注解(调用不同的服务端,负载均衡):
======
修改主机名是去8001和8002模块中的yml文件中添加:
添加ip地址是去8001和8002模块中的yml文件中添加:
======
1
修改8001和8002的contrallor:
主程序加注解:
===
关闭自我保护:
然后配置8001服务端的yml文件:
测试:
小结:
===========
Consul
中文教程:
下载解压:
启动:
新建一个模块8006:
改pom:
创建yml:
主启动类:
创建contrallor:
启动主启动类:
============
新建一个consul的80客户端:
改pom:
改yml:
主启动类:
创建bean,用于调用其他服务的类:
创建contrallor:
=======================
Ribbon负载均衡:
在引入Eureka时已经引入了ribbon,自己要加也可以:
测试getForEntity方法:
ribbon的IRule接口负载均衡的七种策略:
定制策略的要求:
创建一个配置类:
主启动类上加注解:
===========
OpenFeign
新建模块:
改pom:
feign内部配置了ribbon
改yml:
创建主启动类:
业务:
创建接口:
创建contrallor:
测试:
小结:
=======
超时演示:
测试:
设置超时时间:
配置日志:
创建一个配置类:
改yml: