Eureka集成Feign+断路器+Swagger+MyBatis-Plus微工程整合
作者:Java功夫
来源:http://suo.im/6rn1PY
一、技术简介
Eureka是用于微服务注册中心的集大成者,至今已发布多个版本。Spring Cloud也将Eureka组合进内部的生态圈,进行版本发布。最新版本是spring-cloud-starter-eureka-server的1.4.7.RELEASE这个版本。
而FeignClient是用于转发RestTemplate请求的一个组件,Feign包含有Ribbon转发Http服务的功能,同时自动集成了Hystrix断路器的功能。Feign方便Spring Cloud项目进行跨服务调用,同时避免了大量使用RestTemplate转发。Feign通过注册进注册中心,从而方便进行服务发现。Feign服务端开启@EnableEurekaClient方便各客户端发现,Feign客户端开启@EnableFeignClients方便使用Feign服务。
断路器是用来避免微服务雪崩效应,微服务服务链过长时,调用服务如果其中有一个服务挂掉,则会导致整个生态链受影响,请求超时。为了解决这个问题,采用断路器进行阻断,避免服务挂掉而漫长等待。
Swagger是用来方便查询接口,提供给前端开发人员识别调用接口使用的。
MyBatis-Plus是用来进行代码生成器、代码生成工具。
二、Eureka工程
首先准备父工程Pom.xml如下,采用Spring Boot 2.1.0这个版本搭建Eureka工程,其Maven配置文件编写Eureka配置文件主启动工程启动Eureka打开浏览器:http://127.0.0.1:1111
进入注册中心界面Eureka搭建成功
三、Feign调用及断路器
新建一个接口基工程
其Pom.xml如下:新建公共实体基类新建接口基类这个就是Feign接口基工程
新建一个Feign服务端工程,主体结构如下:其Pom.xml如下:其配置文件
开启Eureka注册
Feign主服务Controller:主启动类:启动Feign服务端
查看Eureka注册中心:
已加载至服务
搭建Feign消费者
其Pom.xml配置文件,连接至Eureka其Feign接口继承至Feign接口基工程的基接口Feign接口基工程的基接口指定的服务提供者
@FeignClient(name="demo-feign-freeservice"
@FeignClient(name="demo-feign-freeservice"
fallback=DemoFeignFallback.class
处理已说明
四、MyBatis-PlusMyBatis-Plus在Maven中引入的其配置文件application.yml配置了MyBatis XML扫描文件扫描实体接口:MyBatis-Plus依赖的工具:代码生成工具类:设置作者及目录配置数据源设置需要生成的表设置生成的包,指定了基础包,Service类的包指定xml生成:执行生成:运行之后,代码生成五、SwaggerSwagger引入的Maven:Swagger包配置扫描Controller:Swagger加入后查看Swagger地址http://127.0.0.1:8091/swagger-ui.htmlSwagger集成完毕六、总结这篇文档讲述了Eureka、Feign、断路器、Swagger、MyBatis-Plus等工具与Spring CLoud的整合
代表了断路器处理逻辑启动Feign微服务消费者注册中心:
服务都已启动
打开PostMan
测试Feign消费者正常请求:
通过断路器处理的(接口调用超时)再次请求PostMan,超时,断路器处理的如上,Feign及断路器处理已说明
四、MyBatis-Plus
MyBatis-Plus在Maven中引入的其配置文件application.yml配置了MyBatis XML扫描文件扫描实体接口:MyBatis-Plus依赖的工具:代码生成工具类:设置作者及目录配置数据源设置需要生成的表设置生成的包,指定了基础包,Service类的包指定xml生成:执行生成:运行之后,代码生成
五、Swagger
Swagger引入的Maven:Swagger包配置扫描Controller:Swagger加入后查看Swagger地址http://127.0.0.1:8091/swagger-ui.htmlSwagger集成完毕
六、总结
这篇文档讲述了Eureka、Feign、断路器、Swagger、MyBatis-Plus等工具与Spring CLoud的整合
好文章,我在看
好文章,我在看