springcloud第一部分:入门,Eureka,Consul,Ribbon,OpenFeign

 

 

 

 主流的微服务架构:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 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:

 

 

 

posted @ 2021-06-07 13:47  即墨非音  阅读(155)  评论(0)    收藏  举报