[RPC]:Feign远程调用

这篇具有很好参考价值的文章主要介绍了[RPC]:Feign远程调用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

摘要

摘要:RestTemplate;Feign;远程调用;

1 RPC框架-Feign

1.1 什么是Feign

Feign是一个简化HTTP客户端编写的框架,通过声明式方式将远程服务调用封装成简单接口调用。

1.2 Feign解决的问题

1.2.1 使用RestTemplate发送远程调用代码

要求:系统调用者在查询订单的同时,根据订单中包含的userId查询出用户信息,一起返回。

1.2.1.1 项目示例调用链路

[RPC]:Feign远程调用

1.2.1.2 代码逻辑
  • ① 注册一个RestTemplate实例到spring容器
  • ② 修改order-service中OrderService类中queryOrderById方法,根据Order对象中userId查询User
  • ③ 将查询的User填充到Order对象返回。
1.2.1.3 代码实现
//配置类
/**
 * RestTemplate
 *
 */
@Configuration
public class RestTemplateRPC {

    @Bean
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}
//业务层
    @Resource
    private OrderMapper orderMapper;

    @Resource
    private RestTemplateRPC restTemplateRPC;

    public Order queryOrderById(Long orderId) {
        // 1.查询订单
        Order order = orderMapper.findById(orderId);
        //2.远程调用
        //2.1 远程调用地址
        String url = "http://localhost:8081/user/" + order.getUserId();
        //2.2发起调用
        User user = this.restTemplateRPC.restTemplate().getForObject(url, User.class);
        //3.存入order
        order.setUser(user);
        // 4.返回
        return order;
    }
1.2.1.4 存在的问题

代码可读性差,编码体验不统一
参数复杂URL难以维护,导致代码耦合性太高。文章来源地址https://www.toymoban.com/news/detail-495714.html

1.3 Feign如何使用

1.3.1 使用逻辑

  • 引入依赖
  • 添加注解
  • 编写Feign客户端

1.3.2 引入依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

1.3.3 启动类添加注释开启feign功能

到了这里,关于[RPC]:Feign远程调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java 【dubbo rpc改feign调用】解决调用服务提供方无法传递完整参数问题

    【框架改造问题点记录,dubbo改为spring cloud alibaba】 【第二篇】feign接口异常解决 【描述】多参数情况下,调用服务提供方无法传递完整参数、改@SpringQueryMap原因是会将实体自动拆分为拼接参数。目前只遇到多参数:实体和单参数情况,持续更新… 汇总: 1.多个普通参数,

    2024年02月16日
    浏览(31)
  • springboot整合feign实现RPC调用,并通过Hystrix实现服务降级

    feign/openfeign和dubbo是常用的微服务RPC框架,由于feigin内部已经集成ribbon,自带了负载均衡的功能,当有多个同名的服务注册到注册中心时,会根据ribbon默认的负载均衡算法将请求分配到不同的服务。这篇文章就简单介绍一下怎么使用feign来调用远程的服务。 首先,需要有一个

    2024年02月16日
    浏览(35)
  • 微服务—远程调用(RestTemplate)

              在微服务的所有框架中,SpringCloud脱颖而出,它是目前国内使用的最广泛的微服务框架   (官网地址),它集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用的体验 服务拆分注意事项: 单一职责:不同的微服务,

    2024年02月12日
    浏览(28)
  • 搭建feign远程调用环境

    在我的SpringCloud专栏中已经介绍过SpringCloud五大组件的环境搭建,各个环境的搭建都有详细的步骤讲解,之前我们说过各个服务搭建都是不依赖于之前的环境的,本节介绍的Feign服务间远程调用也是,本次也是侧重于环境搭建,Feign的作用我们之前已经介绍过了。可以查看:0

    2024年01月17日
    浏览(25)
  • SpringCloud --- Feign远程调用

    先来看我们以前利用RestTemplate发起远程调用的代码: 存在下面的问题: 代码可读性差,编程体验不统一 参数复杂URL难以维护 Feign是一个声明式的http客户端,官方地址:GitHub - OpenFeign/feign: Feign makes writing java http clients easier 其作用就是帮助我们优雅的实现http请求的发送,解决

    2024年02月05日
    浏览(29)
  • 【微服务】Feign远程调用

           📝个人主页: 五敷有你         🔥系列专栏: 微服务 ⛺️稳中求进,晒太阳 先来看我们以前利用RestTemplate发起远程调用的代码: 存在下面的问题: 代码可读性差,编程体验不统一 参数复杂URL难以维护 Feign是一个声明式的http客户端,官方地址:GitHub - OpenF

    2024年03月28日
    浏览(35)
  • 微服务远程调用Feign

    目录 RPC概述 什么是Feign? RibbonFeign对比 Feign的设计架构 Spring Cloud Alibaba快速整合Feign Spring Cloud Feign扩展 日志配置 契约配置 通过拦截器实现参数传递 自定义拦截器实现认证逻辑 超时时间配置 微服务之间如何方便优雅的实现服务间的远程调用? RPC 全称是 Remote Procedure Call ,

    2024年03月14日
    浏览(32)
  • Nacos整合Feign远程调用

    Feign是一个声明式的http客户端,其作用就是帮助我们优雅的实现http请求的发送。 将Feign的Client抽取为独立模块,并且把接口有关的POJO、默认的Feign配置都放到这个模块中,提供给所有消费者使用。 例如,将UserClient、User、Feign的默认配置都抽取到一个feign-api包中,所有微服务

    2024年02月10日
    浏览(26)
  • SpringCloud-基于Feign远程调用

    Spring Cloud 是一个用于构建分布式系统的开发工具包,它提供了一系列的微服务组件,其中之一就是 Feign。Feign 是一种声明式的 Web 服务客户端,它简化了在 Spring Cloud 中进行远程调用的过程。本文将介绍如何在 Spring Cloud 中使用 Feign 进行远程调用。 我们在 Spring Cloud 项目的

    2024年02月21日
    浏览(43)
  • SpringCloud(七) Feign远程调用

    目录 一, RestTemplate远程调用存在的问题 二, Feign的远程调用 2.1 什么是Fegin 2.2 Feign的使用(代替RestTemplate) 1. 引入依赖 2. 添加注解  3. 编写Feign的客户端 4. 测试 5. 总结  2.3 自定义配置 1. 配置文件方式  2. Java代码方式  三, Feign使用优化 3.1 使用连接池 1. 引入依赖 2. 配置连接池

    2024年02月06日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包