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

储物柜厂家直销器厂家做网站引流推广犯法吗

储物柜厂家直销器厂家做网站,引流推广犯法吗,凡科商城怎么样,网页素材有哪几大类OpenFeign的定义 OpenFeign是一个声明式的Web服务客户端,它简化了编写Web服务客户端的过程,使得微服务间的通信更加简单和灵活。它主要作用于帮助开发者方便地调用远程服务,让远程调用像本地方法调用一样简单。 事实上,远程调用的…

OpenFeign的定义

        OpenFeign是一个声明式的Web服务客户端,它简化了编写Web服务客户端的过程,使得微服务间的通信更加简单和灵活。它主要作用于帮助开发者方便地调用远程服务,让远程调用像本地方法调用一样简单

事实上,远程调用的关键点就在于四个:

  • 请求方式

  • 请求路径

  • 请求参数

  • 返回值类型

        所以,OpenFeign就利用SpringMVC的相关注解来声明上述4个参数,然后基于动态代理帮我们生成远程调用的代码,而无需我们手动再编写,非常方便。

1.OpenFeign快速入门

1.1.引入依赖

在服务的pom.xml中引入OpenFeign的依赖和loadBalancer依赖:

  <!--openFeign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!--负载均衡器--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency>

1.2.启用OpenFeign

在Spring Boot的启动类上添加@EnableFeignClients注解来启用OpenFeign。

1.3.编写OpenFeign客户端

使用@FeignClient注解定义一个Feign客户端接口,并在该接口中定义需要调用的远程服务方法。

例如:

package com.hmall.cart.client;import com.hmall.cart.domain.dto.ItemDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;import java.util.List;@FeignClient("item-service")
public interface ItemClient {@GetMapping("/items")List<ItemDTO> queryItemByIds(@RequestParam("ids") Collection<Long> ids);
}

这里只需要声明接口,无需实现方法。接口中的几个关键信息:

  • @FeignClient("item-service") :声明服务名称

  • @GetMapping :声明请求方式

  • @GetMapping("/items") :声明请求路径

  • @RequestParam("ids") Collection<Long> ids :声明请求参数

  • List<ItemDTO> :返回值类型

        有了上述信息,OpenFeign就可以利用动态代理帮我们实现这个方法,并且向http://item-service/items发送一个GET请求,携带ids为请求参数,并自动将返回值处理为List<ItemDTO>。我们只需要直接调用这个方法,即可实现远程调用了。

1.4.使用FeignClient

在需要调用远程服务的地方,直接注入上一步定义的Feign客户端接口,并调用其方法即可。

        例如,我们在cart-servicecom.hmall.cart.service.impl.CartServiceImpl中改造代码,直接调用ItemClient的方法:

        Feign替我们完成了服务拉取、负载均衡、发送http请求的所有工作,而且,这里我们不再需要RestTemplate了,还省去了RestTemplate的注册。

2.连接池

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

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

  • Apache HttpClient :支持连接池

  • OKHttp:支持连接池

因此我们通常会使用带有连接池的客户端来代替默认的HttpURLConnection。比如,我们使用OK Http.

2.1.引入依赖

<!--OK http 的依赖 -->
<dependency><groupId>io.github.openfeign</groupId><artifactId>feign-okhttp</artifactId>
</dependency>

2.2.开启连接池

application.yml配置文件中开启Feign的连接池功能:

feign:okhttp:enabled: true # 开启OKHttp功能

重启服务,连接池就生效了。

2.3.验证

我们可以打断点验证连接池是否生效。

Debug方式启动cart-service,请求一次查询我的购物车方法,进入断点:

可以发现这里底层的实现已经改为OkHttpClient。

http://www.khdw.cn/news/62539.html

相关文章:

  • 高端网站建设公司哪里济南兴田德润实惠吗最经典的营销案例
  • 独立站是什么意思百度搜索首页
  • 公司品牌网站建设域名批量查询系统
  • 电子商务网站建设前期百度竞价点击价格
  • 安卓做网站南宁百度seo公司
  • 视频网站亏损也做百度推广助手怎么用
  • 政府 网站 管理系统官网百度
  • 网站被host重定向抖音seo推广外包公司好做吗
  • 芜湖移动网站建设百度收录批量提交入口
  • 网站关键词优化多少钱品牌营销与推广
  • wordpress的字体seo怎么赚钱
  • 可以访问任何网站的浏览器百度ai人工智能平台
  • 珠海企业建站高端网站定制
  • 宁波网络营销网站建设网游推广员
  • 做按摩网站有生意吗seo优化需要做什么
  • 网站管理权限怎么进去搜索引擎排名优化seo课后题
  • 佛山有哪几个区苏州优化收费
  • 重庆蒲公英网站建设公司大数据分析师
  • 为什么网站打不开首页网络营销服务平台
  • 公司的八个主要部门seo排名优化课程
  • 湖北联诺建设网站常宁seo外包
  • 备案的博客网站可以做别的吗百度品牌广告收费标准
  • 网站开发需要几个人云搜索app下载
  • 东莞公司品牌网站建设南京网站建设
  • 微信网站怎么收款广东疫情最新数据
  • 目前做的比较好的情趣用品网站贵阳网站建设推广
  • 商务网站开发需求分析磁力引擎
  • 做测评的网站百度一下你就知道手机版
  • 黄骅广信建设集团网站seo关键词优化怎么收费
  • 手机网站建设哪个优化排名推广关键词