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

长沙销售公司 网站如何看一个网站的备案在哪里做的

长沙销售公司 网站,如何看一个网站的备案在哪里做的,郑州地铁app,北海建设厅网站目录 引言 一、Feign 简介 二、Feign 的基本使用 1. 引入依赖 2. 开启 Feign 功能 3. 定义远程服务接口 三、Feign 自定义配置 1. 针对单个服务修改日志级别 2. 全局修改日志级别 四、Feign 性能优化 1. 引入 HttpClient 依赖 2. 开启连接池配置 五、总结 引言 在…

目录

引言

一、Feign 简介

二、Feign 的基本使用

1. 引入依赖

2. 开启 Feign 功能

3. 定义远程服务接口

三、Feign 自定义配置

1. 针对单个服务修改日志级别

2. 全局修改日志级别

四、Feign 性能优化

1. 引入 HttpClient 依赖

2. 开启连接池配置

五、总结


引言

在微服务架构下,业务系统被拆分为多个独立服务,服务之间往往需要通过远程调用进行交互。传统的方式通常是通过 RestTemplate 发送 HTTP 请求,这种方式虽然直观,但存在以下问题:

  • 代码可读性差:需要手动拼接 URL,容易出错。

  • 开发体验不统一:参数传递与对象映射不够简洁。

  • 难以维护:接口多时,URL 管理变得复杂。

为了解决这些问题,Spring Cloud 提供了 Feign ——一个声明式的 HTTP 客户端,让调用远程服务就像调用本地方法一样简单。


一、Feign 简介

Feign 是一个 声明式伪 HTTP 客户端,只需要定义接口并加上注解,就能完成远程调用。
它与 Spring Cloud 体系无缝集成,并且天然支持 Ribbon 进行负载均衡。

官方仓库地址:OpenFeign GitHub

在使用 Nacos 作为注册中心时,Feign 也能够很好地兼容:通过服务名即可实现服务间调用,不必手动维护具体的地址。


二、Feign 的基本使用

1. 引入依赖

 pom.xml 中添加 Feign 组件:

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

2. 开启 Feign 功能

在主类上添加 @EnableFeignClients 注解:

@SpringBootApplication
@EnableFeignClients
public class OrderApplication {public static void main(String[] args) {SpringApplication.run(OrderApplication.class, args);}
}

3. 定义远程服务接口

通过 @FeignClient 指定要调用的服务,并在接口中定义对应方法:

@FeignClient("service-product") // 声明调用的服务名
public interface ProductService {@GetMapping("/product/{pid}")Product findByPid(@PathVariable("pid") Integer pid);
}

这样,在业务代码中只需要注入 ProductService,即可像调用本地方法一样访问远程接口。


三、Feign 自定义配置

Feign 提供了丰富的扩展点,可以通过配置类或 YAML 文件进行自定义,常见配置如下:

类型作用说明
feign.Logger.Level修改日志级别支持 NONE、BASIC、HEADERS、FULL
feign.codec.Decoder响应结果解析负责将 JSON/XML 等解析为 Java 对象
feign.codec.Encoder请求参数编码将对象转为 HTTP 可传输的格式
feign.Contract注解支持默认是 Spring MVC 注解
feign.Retryer失败重试机制默认无重试,可自定义
1. 针对单个服务修改日志级别
feign:client:config:service-product:loggerLevel: FULL
2. 全局修改日志级别
feign:client:config:default:loggerLevel: FULL

日志级别说明:

  • NONE:不记录任何日志(默认)。

  • BASIC:记录请求方法、URL、响应状态码和耗时。

  • HEADERS:在 BASIC 基础上增加请求和响应头信息。

  • FULL:记录所有请求与响应的完整细节。


四、Feign 性能优化

Feign 本质上还是基于 HTTP 发送请求,其底层客户端可以选择不同实现:

  • URLConnection(默认):不支持连接池,性能一般。

  • Apache HttpClient:支持连接池,推荐。

  • OkHttp:支持连接池,也常用于高并发场景。

1. 引入 HttpClient 依赖

<dependency><groupId>io.github.openfeign</groupId><artifactId>feign-httpclient</artifactId>
</dependency>

2. 开启连接池配置

feign:client:config:default:loggerLevel: BASIChttpclient:enabled: truemax-connections: 200max-connections-per-route: 50

这样,Feign 的远程调用性能将显著提升,避免了频繁建立和关闭连接带来的开销。


五、总结

通过 Feign,我们能够在微服务架构下实现以下优势:

  1. 声明式调用:像调用本地方法一样调用远程服务,代码简洁。

  2. 天然集成负载均衡:默认结合 Ribbon,无需额外配置。

  3. 可扩展配置:支持日志、编码、解码、重试等灵活定制。

  4. 性能优化空间大:可通过 HttpClient/OkHttp 连接池提升调用效率。

在实际开发中,推荐的做法是:

  • 日志级别设为 BASIC,避免冗余日志。

  • 在生产环境中使用 HttpClient 或 OkHttp,不要用默认的 URLConnection

  • 将接口统一定义在 api 模块,供多个服务共享,减少重复代码。

http://www.dtcms.com/a/563798.html

相关文章:

  • 手机网站 图标个人网站注册
  • 昆明网络推广昆明网站建设昆明昆明自己做抽奖网站违法吗
  • 网站建设背景文字做网站收会员费
  • 个人网站制作的步骤校史馆展馆展厅设计
  • 秦皇岛山海关电力工程招标百度seo排名在线点击器
  • 怎么用lofter做网站基金培训网站
  • 留号码的广告网站不需要验证码如何创建一个网站
  • 上海做网站培训班logo素材
  • 档案网站建设与档案信息化html5前端开发工程师
  • 包头网站建设易通天津市建设工程信息网专家网
  • 广西建设学院官方网站重庆实时新闻最新消息
  • 如何查找网站wordpress编辑器那个好
  • 临桂建设局安全股网站如何注册网站的名字
  • 长沙企业网站制作哪家好asp.net网站开发pdf
  • 国外扁平化设计网站营销网站建设818gx
  • 优惠建网站山海关区建设局网站
  • 宜宾团购网站建设高级软件开发培训班
  • 网站群集建设如何让百度收录网站
  • 南通网站设计如何做游戏开发
  • 网站建设与管理就业岗位wordpress趋势图插件
  • 深圳华维网站建设包头seo
  • 成都网站关键排名免费做电子书的网站
  • 怎样做的英文网站长沙整站优化
  • 网站开发手机验证码网站右键禁止
  • 设计网站的软件蓟县网站建设公司
  • 网站建设谈判长春网络哪家好
  • 张槎建网站网页游戏手机怎么玩
  • ecetc商务网站建设工程师网页制作模板菜鸟
  • 高端文化网站单位 内网网站建设
  • 做国外零售的话是在什么网站开店可以制作图片的手机软件