| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> SpringCloud (四) --------- Feign -> 正文阅读 |
|
[Java知识库]SpringCloud (四) --------- Feign |
一、Feign 介绍Feign 是 Netflix 公司开发的一个声明式的 REST 调用客户端 (调用远程的 Restful 风格的 Http 接口的一个组件)。 调用组件其实很多,比如: 1、HttpClient (Apache) Spring Cloud Feign 对 Ribbon 负载均衡进行了简化,在其基础上进行了进一步的封装,在配置上大大简化了开发工作,它是一种声明式的调用方式,它的使用方法是定义一个接口,然后在接口上添加注解,使其支持了 Spring MVC 标准注解和 HttpMessageConverters,Feign 可以与 Eureka 和 Ribbon 组合使用以支持负载均衡。 二、Feign 作用Feign 旨在简化微服务消费方 (调用者,客户端) 代码的开发,前面在使用 Ribbon + RestTemplate 进行服务调用时,利用 RestTemplate 对 Http 请求的封装处理,形成了一套模版化的调用方式。 但是在实际开发中,由于服务提供者提供的接口非常多,一个接口也可能会被多处调用,Feign 在 Ribbon+RestTemplate 的基础上做了进一步封装,在Feign 封装之后,我们只需创建一个接口并使用注解的方式来配置,即可完成对服务提供方的接口绑定,简化了使用 Ribbon + RestTemplate 的调用,自动封装服务调用客户端,减少代码开发量。 三、使用 Feign 实现消费者使用 Feign 实现消费者,我们通过下面步骤进行 A、创建普通 Spring Boot 工程 把接口放在通用的接口层、常量类、model的项目中 B、添加依赖 要添加的依赖主要是 我们可以在创建项目时,对相应的组件进行勾选
C、声明服务 定义一个 GoodsRemoteClient 接口,通过 @FeignClient 注解来指定服务名称,进而绑定服务,然后再通过 SpringMVC 中提供的注解来绑定服务提供者提供的接口, 如下:
这相当于绑定了一个名叫 springcloud-service-goods 的服务提供者提供的 /service/goods 接口 D、添加注解 在项目入口类上添加 E、使用 Controller 中调用服务 接着来创建一个 Controller 来调用上面的服务,如下
F、属性配置 在 application.properties 中指定服务注册中心、端口号等信息,如下:
G、测试 依次启动注册中心、服务提供者和 feign 实现服务消费者,然后访问如下地址: http://localhost:8090/cloud/goodsFeign 四、Feign 负载均衡我们知道,Spring Cloud 提供了 Ribbon 来实现负载均衡,使用 Ribbo 直接注入一个 RestTemplate 对象即可,RestTemplate 已经做好了负载均衡的配置。 在 Spring Cloud 下,使用 Feign 也是直接可以实现负载均衡的,定义一个有 @FeignClient 注解的接口,然后使用 @RequestMapping 注解到方法上映射远程的 REST 服务,此方法也是做好负载均衡配置的。 通过 Feign 只需要定义服务绑定接口且以声明式的方法,优雅而简单的实现了服务调用。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 2:17:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |