

主流的微服务架构:










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:


springcloud第一部分:入门,Eureka,Consul,Ribbon,OpenFeign
原文:https://www.cnblogs.com/jmfy/p/14838083.html