当前位置: 首页 > news >正文

Feign

而Feign则会完全代理HTTP请求,我们只需要像调用方法一样调用它就可以完成服务请求及相关处理。Feign整合了Ribbon和Hystrix,可以让我们不再需要显式地使用这两个组件。

Feign具有如下特性:

支持可插拔的HTTP编码器和解码器;

支持Hystrix和它的Fallback;

支持Ribbon的负载均衡;

支持HTTP请求和响应的压缩。

有点像我们springmvc模式的Controller层的RequestMapping映射。这Feign是用@FeignClient来映射服务的。

创建一个项目

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>2.2.7.RELEASE</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency><!--eureka-server--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId><version>2.2.1.RELEASE</version></dependency><dependency><!-- 引入自己定义的api通用包,可以使用Payment支付Entity --><groupId>com</groupId><artifactId>cloud-api-commons</artifactId><version>0.0.1-SNAPSHOT</version></dependency>

总依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com</groupId><artifactId>springcloud</artifactId><version>0.0.1-SNAPSHOT</version><name>cloud-consumer-feign-order80</name><description>cloud-consumer-feign-order80</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>2.2.7.RELEASE</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency><!--eureka-server--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId><version>2.2.1.RELEASE</version></dependency><dependency><!-- 引入自己定义的api通用包,可以使用Payment支付Entity --><groupId>com</groupId><artifactId>cloud-api-commons</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

application.yml

server:port: 80eureka:client:register-with-eureka: falseservice-url:defaultZone: http://localhost:7001/eureka,http://localhost:7002/eureka

运行项目,可以成功访问到。

先启动7001与7002,再启动8001,8002,最后再启动80.

OpenFign日志增强

FeignConfig

package com.springcloud.config;import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @auther zzyy* @create 2020-02-20 9:40*/
@Configuration
public class FeignConfig
{@BeanLogger.Level feignLoggerLevel(){return Logger.Level.FULL;}
}

server:port: 80eureka:client:register-with-eureka: falseservice-url:defaultZone: http://localhost:7001/eureka,http://localhost:7002/eurekalogging:level:# feign日志以什么级别监控哪个接口com.springcloud.service.PaymentService: debug

运行项目。

控制台:

相关文章:

Feign

而Feign则会完全代理HTTP请求&#xff0c;我们只需要像调用方法一样调用它就可以完成服务请求及相关处理。Feign整合了Ribbon和Hystrix&#xff0c;可以让我们不再需要显式地使用这两个组件。 Feign具有如下特性&#xff1a; 支持可插拔的HTTP编码器和解码器; 支持Hystrix和…...

【代码训练营】day54 | 392.判断子序列 115.不同的子序列

所用代码 java 判断子序列 LeetCode 392 题目链接&#xff1a;判断子序列 LeetCode 392 - 简单 思路 这题和之前求最长公共子序列一样。 dp[i] [j]&#xff1a;以i-1为结尾的字符串s 和 以j-1为结尾的字符串t 组成的相同子序列的长度 递推公式&#xff1a; 相等dp[i][j] d…...

【unity3D】创建TextMeshPro(TMP)中文字体(解决输入中文乱码问题)

&#x1f497; 未来的游戏开发程序媛&#xff0c;现在的努力学习菜鸡 &#x1f4a6;本专栏是我关于游戏开发的学习笔记 &#x1f236;本篇是unity的TMP中文输入显示乱码的解决方式 创建 TextMeshPro 中文字体遇到的问题描述解决方式Font Asset Creator 面板扩展中文字体文本遇到…...

JAVA开发(JAVA中的异常)

在java开发与代码运行过程中&#xff0c;我们经常会遇到需要处理异常的时候。有时候是在用编辑器写代码&#xff0c;点击保存的时候&#xff0c;编辑器就提示我们某块代码有异常&#xff0c;强制需要处理。有时候是我们启动&#xff0c;运行JAVA代码的时候的&#xff0c;日志里…...

lesson8-Linux多线程

Linux线程概念 线程在进程内部执行,是OS调度的基本单位OS是可以做到让进程进行资源的细粒度划分的物理内存是以4kb为单位的我们的.exe可执行程序本来就是按照地址空间的方式进行编译的页表映射 - 详细图 理解线程 线程在进程的地址空间内运行, 进程内部具有多个执行流的,而线程…...

python的django框架从入门到熟练【保姆式教学】第四篇

在前三篇博客中&#xff0c;我们介绍了Django的模型层、数据库迁移、视图层和URL路由。本篇博客将介绍Django的模板层&#xff0c;讲解如何使用模板来创建美观的Web页面。 模板层&#xff08;Template&#xff09; Django的模板层是Django应用程序的另一个核心组件。模板是一…...

Codeforces Round 852 (Div. 2)

A Yet Another Promotion 题意&#xff1a;要买n千克物品&#xff0c;第一天的价格为a&#xff0c;第二天的价格为b。第一天有促销活动&#xff0c;每买m千克物品&#xff0c;可以额外获得1千克物品。问最少花费多少可以获得至少n千克的物品。 思路&#xff1a;分类讨论&…...

【PTA Data Structures and Algorithms (English)】7-2 Reversing Linked List

Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K3, then you must output 3→2→1→6→5→4; if K4, you must output 4→3→2→1→5→6. Input Specif…...

Jetpack Compose 学习汇总

关于 Jetpack Compose 的学习本想只是简单的快速学习一下&#xff0c;结果万万没想到&#xff0c;竟然一下子折腾了好几个月。。。 下面将之前记录的 Jetpack Compose 相关的学习博文进行一个汇总链接整理&#xff0c;方便我以后自己查阅&#xff0c;也希望能帮到一些有正在学…...

【OpenCv】c++ 图像初级操作 | 图像灰度化

文章目录一、图像1、图像信息2、图像种类1&#xff09;二值图像&#xff1a;2&#xff09;灰度图:3&#xff09;彩色图&#xff1a;二、图像转化1、分离彩色图三个通道2、图像灰度化处理一、图像 1、图像信息 Q&#xff1a;图像在计算机中怎么储存&#xff1f; A&#xff1a;…...

VIT(vision transformer)onnx模型解析

背景&#xff1a;transformer在CV领域的应用论文下载链接&#xff1a;https://arxiv.org/abs/2010.11929Pytorch实现代码&#xff1a; pytorch_classification/vision_transformer(太阳花的小绿豆博主实现的代码)有一些大神在研究关于CNNtransformer或者纯用transformer实现。原…...

红黑树的介绍和实现

文章目录1. 红黑树1.1 红黑树的概念1.2 红黑树的性质1.3 红黑树节点的定义1.4 红黑树的插入1.5 红黑树的验证1.6 红黑树与AVL树的比较1. 红黑树 1.1 红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以…...

C/C++每日一练(20230310)

目录 1. 用栈实现队列 ★★ 2. 单词搜索 II ★★★ 3. 直线上最多的点数 ★★★ 1. 用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09;&#xff1a; 实现 MyQueue 类&#xff1a; v…...

Go语言基础知识

常量//定义方式 const a int12;//指定变量类型 const b12;//不指定变量类型&#xff0c;由编译时go自动确认 const(//多行定义方式a12b23 ) //说到const&#xff0c;不得不得不提到的一个参数iota,初始值为0&#xff0c;在用const多行定义的方式中&#xff0c; 如果第一行定义了…...

案例06-没有复用思想的接口和sql--mybatis,spring

目录一、背景二、思路&方案问题1优化问题2优化三、总结四、升华一、背景 写这篇文章的目的是通过对没有复用思想接口的代码例子优化告诉大家&#xff0c;没有复用思想的代码不要写&#xff0c;用这种思维方式和习惯来指导我们写代码。 项目中有两处没有复用思想代码&#…...

如何将项目部署到服务器:从选择服务器到维护应用程序的全流程指南

将项目部署到服务器是一个重要的技能&#xff0c;对于开发人员来说&#xff0c;它是必不可少的。在本文中&#xff0c;我将介绍一些关于如何将项目部署到服务器的最佳实践。一、选择服务器在部署项目之前&#xff0c;你需要先选择一个适合你的服务器。如果你已经有一个可用的服…...

怎么做才能不丢消息?

现在主流的消息队列产品都提供了非常完善的消息可靠性保证机制&#xff0c;可以做到在消息传递的过程中&#xff0c;即使发生网络中断或者硬件故障&#xff0c;也能确保消息的可靠传递、不丢消息。 绝大部分丢消息的原因都是由于开发者不熟悉消息队列&#xff0c;没有正确使用…...

前端基础(十六)_数组对象

数组对象 1、创建数组 // 字面量创建const arr [1, 2, 3, 4, 5, 6]// 构造函数创建const arr2 new Array(1, 2, 3, 4, 5, 6)const arr3 Array(1, 2, 3, 4, 5, 6)2.push (从数组末尾添加元素) a.数组.push(要添加进数组的数组项) b.作用&#xff1a;将要添加的数组项 添加到…...

数据结构-带头双向循环链表

前言&#xff1a; 链表有很多种&#xff0c;上一章结&#xff0c;我复盘了单链表&#xff0c;这一章节&#xff0c;主要针对双链表的知识点进行&#xff0c;整理复盘&#xff0c;如果将链表分类的话&#xff0c;有很多种&#xff0c;我就学习的方向考察的重点&#xff0c;主要…...

3 问 6 步,极狐GitLab 帮助企业构建高效、安全、合规的 DevSecOps 文化

本文来源&#xff1a;about.gitlab.com 作者&#xff1a;Vanessa Wegner 译者&#xff1a;极狐(GitLab) 市场部内容团队 &#x1f512; 安全为何重要&#xff1f;此前&#xff0c;我们分享了&#xff1a; 1. 2023年DevOps发展趋势&#x1f449;重磅&#xff01;GitLab 提出五大…...

OpenClaw轻量化部署:在树莓派上运行Qwen3.5-9B微型服务

OpenClaw轻量化部署&#xff1a;在树莓派上运行Qwen3.5-9B微型服务 1. 为什么选择树莓派部署OpenClaw 去年夏天&#xff0c;我在整理个人文档时被重复的文件分类工作折磨得苦不堪言。当时我就在想&#xff1a;如果能有个AI助手帮我自动处理这些琐事该多好。但市面上的云端方案…...

OpCore-Simplify智能构建:OpenCore EFI自动化生成的效率提升实践

OpCore-Simplify智能构建&#xff1a;OpenCore EFI自动化生成的效率提升实践 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 用户场景&#xff1a;黑苹…...

告别序列‘拉直’的暴力美学:手把手复现MaIR,体验保持图像局部与连续性的Mamba新玩法

告别序列“拉直”的暴力美学&#xff1a;手把手复现MaIR&#xff0c;体验保持图像局部与连续性的Mamba新玩法 在计算机视觉领域&#xff0c;图像修复任务&#xff08;如去噪、超分、去模糊&#xff09;一直是研究热点。传统方法往往将2D图像“拉直”为1D序列进行处理&#xff0…...

避开这3个坑!MIPI走线设计如何减少对GSM信号的干扰(含阻抗匹配计算)

避开这3个坑&#xff01;MIPI走线设计如何减少对GSM信号的干扰&#xff08;含阻抗匹配计算&#xff09; 在消费电子硬件设计中&#xff0c;MIPI接口与射频信号的共存问题一直是工程师面临的棘手挑战。特别是当设备需要同时支持高清显示和GSM通信功能时&#xff0c;MIPI信号对GS…...

Python环境变量冲突避坑指南:解决Fatal Python error: init_sys_streams错误(conda+Pycharm版)

Python环境变量冲突避坑指南&#xff1a;解决Fatal Python error: init_sys_streams错误&#xff08;condaPycharm版&#xff09; 当你在PyCharm中运行一个conda虚拟环境下的Python项目时&#xff0c;突然弹出一条令人窒息的错误信息&#xff1a;Fatal Python error: init_sys_…...

Llama-3.2V-11B-cot入门必看:Streamlit组件热重载加速UI迭代开发

Llama-3.2V-11B-cot入门必看&#xff1a;Streamlit组件热重载加速UI迭代开发 1. 项目概述 Llama-3.2V-11B-cot是基于Meta Llama-3.2V-11B多模态大模型开发的高性能视觉推理工具&#xff0c;专为双卡4090环境深度优化。该工具通过Streamlit框架构建了直观易用的交互界面&#…...

OpCore-Simplify:让黑苹果配置从复杂到简单的智能化革命

OpCore-Simplify&#xff1a;让黑苹果配置从复杂到简单的智能化革命 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 你是否曾为黑苹果&#xff08;Hac…...

跨平台哔哩哔哩内容管理神器:BiliTools全方位使用指南

跨平台哔哩哔哩内容管理神器&#xff1a;BiliTools全方位使用指南 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Trending/bilit/Bili…...

Wan2.2-I2V-A14B企业落地:汽车4S店车型介绍短视频自动化生产系统

Wan2.2-I2V-A14B企业落地&#xff1a;汽车4S店车型介绍短视频自动化生产系统 1. 项目背景与需求分析 汽车4S店每天需要为不同车型制作大量介绍视频&#xff0c;传统视频制作方式面临三大痛点&#xff1a; 人力成本高&#xff1a;专业视频团队制作单条视频成本约2000-5000元制…...

OpenClaw安全加固:Qwen3.5-9B操作权限的4层防护

OpenClaw安全加固&#xff1a;Qwen3.5-9B操作权限的4层防护 1. 为什么需要安全加固&#xff1f; 上周我在用OpenClaw自动处理一份包含客户联系方式的Excel表格时&#xff0c;突然意识到一个问题&#xff1a;如果AI助手误操作删除了关键文件怎么办&#xff1f;更可怕的是&…...