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

零下一度网站建设自己做网站怎么推广

零下一度网站建设,自己做网站怎么推广,淮北论坛招聘驾驶员,炫酷的国外网站文章目录 1. Feign 是什么2. Feign 的使用2.1 引入依赖2.2 写接口2.3 服务调用方2.4 启动测试 3. Feign 日志配置4. Feign 使用优化5. 注意包扫描问题 1. Feign 是什么 Feign 是一个声明式、模板化的 HTTP 客户端,它是由 Netflix 开发并开源的。Feign 极大地简化了…

文章目录

  • 1. Feign 是什么
  • 2. Feign 的使用
    • 2.1 引入依赖
    • 2.2 写接口
    • 2.3 服务调用方
    • 2.4 启动测试
  • 3. Feign 日志配置
  • 4. Feign 使用优化
  • 5. 注意包扫描问题


在这里插入图片描述

1. Feign 是什么

Feign 是一个声明式、模板化的 HTTP 客户端,它是由 Netflix 开发并开源的。Feign 极大地简化了基于 HTTP 的服务间通信的开发过程,并与 Spring Cloud 进行了深度集成。

以下是 Feign 的一些特点和优势:

  • 声明式 API 定义:Feign 使用接口的方式定义服务调用的 API,使得声明和使用 API 更加直观和简洁。你只需要定义接口,并使用注解来描述 API 的细节,如请求方法、请求路径、请求参数等信息。

  • 整合了负载均衡:在 Spring Cloud 环境下,Feign 可以与 Ribbon 负载均衡进行集成。它可以自动将请求分发到后端的多个服务实例中,以实现负载均衡和服务发现。

  • 集成了 Hystrix 断路器:Feign 直接集成了 Hystrix 断路器,可以提供服务降级和容错能力。当服务调用失败或延迟过高时,Feign 可以快速启动断路器,避免雪崩效应。

  • 支持多种编码器和解码器:Feign 支持多种数据格式的编码和解码,例如 JSON、XML 等。你可以通过配置和注解来指定请求和响应的编码方式。

  • 支持自定义拦截器:Feign 提供了拦截器的扩展机制,你可以在请求发出前或响应返回后对请求进行处理。这些拦截器可以用于日志记录、认证授权、请求重试等逻辑。

Feign 提供了一种简单、高效的方式来定义和使用 HTTP 客户端。它基于接口和注解,使得服务之间的调用更加直观和易于维护。同时,Feign 还集成了负载均衡和断路器等功能,可以帮助开发者构建高可用和可靠的微服务架构。


微服务之间的远程调用可以用 RestTemplate 来发起远程调用. 但是存在下面的几个问题:

•代码可读性差,编程体验不统一

•参数复杂URL难以维护

Feign 的作用就是帮助我们优雅的实现 http 请求的发送,解决上面提到的问题。


2. Feign 的使用

在实际的项目开发中我们会把各个微服务提供的供其他服务远程调用的接口 封装在一个单独的服务里.

在这里插入图片描述

2.1 引入依赖

在 API 服务;里引入依赖

 <!--feign客户端依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>

2.2 写接口

参照 服务提供的接口 写 API 中的接口
在这里插入图片描述

@FeignClient("user-server")
public interface UserApi {@GetMapping("user/{userId}")String hello(@PathVariable("userId") Integer userId);}

user-server 是微服务的服务名


2.3 服务调用方

服务调用方要做如下改动:

  1. 引入依赖

     <dependency><groupId>com.snow</groupId><artifactId>api</artifactId><version>1.0-SNAPSHOT</version></dependency>
    
  2. 启动类加配置
    启动类上加一行配置

    @EnableFeignClients(basePackages = {"com.snow.api"})
    

    com.snow.api 表示 API 的包

  3. 实际调用
    在这里插入图片描述


2.4 启动测试

略…


3. Feign 日志配置

基于配置文件修改feign的日志级别可以针对单个服务:

feign:  client:config: user-server: # 针对某个微服务的配置loggerLevel: FULL #  日志级别 

也可以针对所有服务:

feign:  client:config: default: # 这里用default就是全局配置,如果是写服务名称,则是针对某个微服务的配置loggerLevel: FULL #  日志级别 

而日志的级别分为四种:

  • NONE:不记录任何日志信息,这是默认值。
  • BASIC:仅记录请求的方法,URL以及响应状态码和执行时间
  • HEADERS:在BASIC的基础上,额外记录了请求和响应的头信息
  • FULL:记录所有请求和响应的明细,包括头信息、请求体、元数据。

4. Feign 使用优化

Feign 底层发起 http 请求,依赖于其它的框架。其底层客户端实现包括:

• URLConnection:默认实现,不支持连接池

• Apache HttpClient :支持连接池

• OKHttp:支持连接池

因此提高 Feign 的性能主要手段就是使用 连接池 代替默认的 URLConnection。

这里我们用 Apache 的 HttpClient 来演示。

1)引入依赖

在 order-server 的 pom 文件中引入 Apache 的 HttpClient 依赖:

<!--httpClient的依赖 -->
<dependency><groupId>io.github.openfeign</groupId><artifactId>feign-httpclient</artifactId>
</dependency>

2)配置连接池

在 order-server 的 application.yml 中添加配置:

feign:client:config:default: # default全局的配置loggerLevel: BASIC # 日志级别,BASIC就是基本的请求和响应信息httpclient:enabled: true # 开启feign对HttpClient的支持max-connections: 200 # 最大的连接数max-connections-per-route: 50 # 每个路径的最大连接数

接下来,在 FeignClientFactoryBean 中的 loadBalance 方法中打断点:

在这里插入图片描述

Debug方式启动order-service服务,可以看到这里的client,底层就是Apache HttpClient:

在这里插入图片描述


5. 注意包扫描问题

服务调用方的启动类上.

方式一:

指定 Feign 应该扫描的包:

@EnableFeignClients(basePackages = "com.snow.api")

方式二:

指定需要加载的 Client 接口:

@EnableFeignClients(clients = {UserApi.class})

在这里插入图片描述



http://www.bjxfkj.com.cn/article/110439.html

相关文章:

  • 自己做的网站公众号页面设计模板
  • 帮别人设计网站做网站成本
  • 嘉兴免费做网站山东省住房城乡和建设厅网站
  • 张掖哪家公司做网站整站优化关键词排名
  • 怎样做网站的后台网站icp备案 技术负责人
  • 公司网站版面怎么设计有没有转门做乐器演奏的网站
  • 晋城哪里有做网站的天津公司
  • 上海私人网站建设专业网站建设质量推荐
  • 北京公司网站建设费用wordpress 小学生
  • 做网站怎么把导航每个页面都有dede网站地图位置
  • 做服装店网站的素材Wordpress搜索验证登录
  • 铲车找事做找哪些网站wordpress附件分离
  • 滁州网站建设推广用家用电脑建设网站
  • 绍兴在线制作网站威海城乡与住房建设部网站
  • 韶关网站建设第一品牌黑龙江牡丹江双鸭山伊春推广
  • 北京门户网站设计上海市建交人才网
  • 网站建设做网站好吗专业做网站推广
  • 企业网站管理的含义及内容柳州企业网站制作哪家好
  • 方案巴巴策划网站上饶哪里培训网站建设
  • 网站的开发工具wordpress 制作瀑布流单页
  • 安庆建设银行网站阳江网红景点
  • 建立自己的网站可以采用的方式有沈阳三好街附近做网站
  • 做网站生意不赚钱织梦技校招生网网站模板整站源码
  • 一流本科专业建设网站wordpress图片无法居中显示
  • 上海网络推广服务公司厦门优化网站排名
  • 江西建设银行官方网站北京市房山建设培训学校网站
  • wordpress行间距龙岗seo网络推广
  • 宿州网站建设贰聚思诚信jsp网站开发实例实验报告
  • c2c交易会被判刑嘛免费seo网站推荐一下软件
  • 做饲料机的川工网站吴江网站建设收费