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

济南网站建设 选聚搜网络网站建设要不要监理

济南网站建设 选聚搜网络,网站建设要不要监理,长沙公司网站建设,河源建筑设计企业名录黄页在之前我们两服务之间调用的时候用的是restTemplate,但是这个方式调用存在很多的问题 String url http://userservice/user/ order.getUserId(); 代码可读性差#xff0c;编码体验不统一参数复杂的url难以维护 所以我们大力推出我们今天的主角--Fegin Feign是…在之前我们两服务之间调用的时候用的是restTemplate,但是这个方式调用存在很多的问题 String url http://userservice/user/ order.getUserId(); 代码可读性差编码体验不统一参数复杂的url难以维护 所以我们大力推出我们今天的主角--Fegin Feign是一个声明式的http客户端其作用就是帮助我们优雅的实现http请求的发送解决上面的问题 定义和使用Fegin客户端 1.引入依赖 !--feign客户端依赖--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency 2.在A服务的启动类中添加注解开启Figin的功能 MapperScan(cn.itcast.order.mapper) SpringBootApplication EnableFeignClients//Feign的客户端 public class OrderApplication {public static void main(String[] args) {SpringApplication.run(OrderApplication.class, args);} } 3.编写Feign客户端 FeignClient(value userservice) public interface UserClient {GetMapping(/user/{id})User findById(PathVariable(id) Long id); }/* 基于SpringMVC的注解来声明远程调用的信息 服务名称userservice 请求方式GET 请求路径/user/{id} 请求参数Long id 返回值类型User */ 4.使用Fegin客户端代替RestTemplate Autowiredprivate UserClient userClient;public Order queryOrderById(Long orderId) {// 1.查询订单Order order orderMapper.findById(orderId);// 2.用Feign远程调用User user userClient.findById(order.getUserId());// 3.封装user到Orderorder.setUser(user);// 4.返回return order;} Fegin的使用步骤 引入依赖添加EnableFeginClient注解编写FeginClient接口使用FeginClient中定义的方法代替RestTemplate 自定义配置来覆盖默认配置可修改为 类型作用说明fegin.Logger.Decoder修改日志级别包含四种不同的级别NONE、BASIC、HEADERS、FULL feign.codec.Decoder 响应结果的解析器 http远程调用的结果做解析例如解析json字符串为java对象 feign.codec.Encoder 请求参数编码 将请求参数编码便于通过http请求发送 feign. Contract 支持的注解格式 默认是SpringMVC的注解 feign. Retryer 失败重试机制 请求失败的重试机制默认是没有不过会使用Ribbon的重试 自定义Fegin的配置 一般配置Fegin日志一般有两种方式 方法一 1.全局生效 feign:client:config: default: #这里default就是全局变量如果是写服务名称则是针对某个微服务的配置loggerLevel: FULL #日志级别 2.局部生效 feign:client:config: userservice: #这里userseervice就是局部变量loggerLevel: FULL #日志级别 方法二java代码方式 public class DefaultFeignConfiguration {Beanpublic Logger.Level logLevel(){return Logger.Level.BASIC;} } 1.如果是全局配置则将它放到EnableFeginClients这个注解中 EnableFeignClients(clients UserClient.class,defaultConfiguration DefaultFeign 2.如果是局部配置则把它放到FeginClient这个注解中 FeignClient(value userservice,configuration DefaultFeignConfiguration.class) Fegin性能优化 Fegin的底层的客户端实现 URLConnection:默认实现不支持连接池Apache HttpClient:支持连接池OKHttp:支持连接池 优化Fegin的性能主要包括 使用连接池代替默认的URLConnection日志级别最好用basic或者none Fegin添加FttpClient的支持 引入依赖 !--引入HttpClient依赖--dependencygroupIdio.github.openfeign/groupIdartifactIdfeign-httpclient/artifactId/dependency 配置连接池 feign:client:config:default: #这里default就是全局变量如果是写服务名称则是针对某个微服务的配置loggerLevel: FULL #日志级别httpclient:enabled: true # 支持HttpClient的开关max-connections: 200 # 最大连接数max-connections-per-route: 50 # 单个路径的最大连接数 Fegin的最佳实践 EnableFeignClients(clients com.ffyc.fegin.clients) 如果按照第二种方法将Fegin客户端独立出去在启动SpringBootAppliaction的扫描包范围时这些Fegin客户端无法使用所以我们需要去解决这个问题 方式一(指定FeginClient所在包) EnableFeignClients(clients ffyc.com.fegin.clients) 方式二指定FeginClient字节码 EnableFeignClients(clients { UserClient.class})
http://www.yutouwan.com/news/473047/

相关文章:

  • 无锡锡牛网站建设网站制作风格
  • 接做室内效果图的网站好的装修公司哪家好
  • 如何在亚马逊做公司网站网站主机的类型
  • 网站设计背景做网站服务器的配置
  • 导航仪企业网站源码工程公司管理制度
  • 自己做家装设计网站阿里云网站空间申请
  • 设计网站的步骤wordpress 防爬
  • 网站教程分享seo策略主要包括
  • 搜索广告是什么衡水seo营销
  • 怎样做网站镜像关于网站建设的英文书籍
  • 酷炫flash网站惠州做企业网站的
  • 网站备案 流程四年级的简短新闻播报
  • 深圳网站建设平台织梦网站地图底部
  • 怎么建设淘宝那样的网站专业建设思路
  • 外贸做网站建设公司百度一下百度下载
  • 商城网站开发实训报告网站制作宣传
  • 包河网站建设网站建设中页面设计
  • 有哪些网站可以做代理wordpress多站模式
  • 好大学网站设计织梦购物网站整站源码
  • 欧美风格网站源码利用花生壳做网站
  • 网站集约建设原因318全讯申请网址
  • 城乡建设门户网站网站服务器是指什么
  • 创客贴网站做海报技能青岛 企业网站建站
  • 以网站做跳板入侵汽车之家汽车报价大全网页版
  • 做一个一般的网站需要多少钱外贸公司网站改版思路
  • 济南网站建设联系方式茂名网站建设系统
  • 网站功能列表网店美工招聘信息
  • 什么是 网站的逻辑结构网页设计免费模板素材
  • 电商网站设计公司立找亿企邦网站代码在哪看
  • 中国建设银行网站功能模块美食网站开发毕业设计