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

执法局网站建设目的长沙广告传媒有限公司

执法局网站建设目的,长沙广告传媒有限公司,合肥设计工作室有哪些,h5免费制作平台哪个好文章目录 业务场景拦截器用法Open Feign介绍 业务场景 我们服务使用Spring Cloud微服务架构#xff0c;使用Spring Cloud Gateway 作为网关#xff0c;使用 Spring Cloud OpenFeign 作为服务间通信方式我们现在做的信控平台#xff0c;主要功能之一就是对路口信号机进行管控… 文章目录 业务场景拦截器用法Open Feign介绍 业务场景 我们服务使用Spring Cloud微服务架构使用Spring Cloud Gateway 作为网关使用 Spring Cloud OpenFeign 作为服务间通信方式我们现在做的信控平台主要功能之一就是对路口信号机进行管控和实时展示平台通过通信服务与信号机设备连接当信号机数量比较多时单个通信服务就会存在性能瓶颈需要将多个通信服务部署到不同的服务器基于我们的业务特性我们需要保证某一台信号机只会和某一个通信服务连接在线、离线、告警等业务需求我们在维护信号机设备时会给它分配一个通信服务。根据实际的业务需求例如不同支队分配到对应的通信服务这样就有了一个信号机设备编号与通信服务的绑定关系由于前期已经有了大量的业务编码这个需求不能大规模改动代码要统一拦截处理由于这个是根据具体的业务需求去分配到不同的服务没有规律没法在网关里判断和转发处理而且我们的服务间调用都是内网也没有经过网关服务于是想到FeignClient的特性在它的拦截器里统一处理根据业务规则实现微服务动态路由路由到需要的服务里 拦截器用法 首先我们看下FeignClient类UnitClient的代码使用了自定义的一个注解AuthorizedFeignClient AuthorizedFeignClient(name unit, url ${microservices.unit}) Component public interface UnitClient {/*** 上传数据*/GetMapping(/uploadAllUnit/{unitId})ResponseEntityResponseBean uploadAllUnit(PathVariable String unitId);/*** 关灯*/PostMapping(/lampOffControl/{unitId})ResponseEntityRequestResult lampOffControl(PathVariable String unitId);} // 其他省略注解类AuthorizedFeignClient其实就是FeignClient基础上指定了一个配置类OAuth2InterceptedFeignConfiguration package com.newatc.core.client;import java.lang.annotation.*; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClientsConfiguration; import org.springframework.core.annotation.AliasFor;Retention(RetentionPolicy.RUNTIME) Target(ElementType.TYPE) Documented FeignClient public interface AuthorizedFeignClient {AliasFor(annotation FeignClient.class, attribute name)String name() default ;/*** A custom {code Configuration} for the feign client.** Can contain override {code Bean} definition for the pieces that* make up the client, for instance {link feign.codec.Decoder},* {link feign.codec.Encoder}, {link feign.Contract}.** return the custom {code Configuration} for the feign client.* see FeignClientsConfiguration for the defaults.*/AliasFor(annotation FeignClient.class, attribute configuration)Class?[] configuration() default OAuth2InterceptedFeignConfiguration.class;/*** An absolute URL or resolvable hostname (the protocol is optional).* return the URL.*/String url() default ;/*** Whether 404s should be decoded instead of throwing FeignExceptions.* return true if 404s will be decoded; false otherwise.*/boolean decode404() default false;/*** Fallback class for the specified Feign client interface. The fallback class must* implement the interface annotated by this annotation and be a valid Spring bean.* return the fallback class for the specified Feign client interface.*/Class? fallback() default void.class;/*** Path prefix to be used by all method-level mappings.* return the path prefix to be used by all method-level mappings.*/String path() default ; } 配置类OAuth2InterceptedFeignConfiguration这里指定了拦截器TokenRelayRequestInterceptor package com.newatc.core.client;import feign.RequestInterceptor; import org.springframework.context.annotation.Bean;public class OAuth2InterceptedFeignConfiguration {Bean(name oauth2RequestInterceptor)public RequestInterceptor getOAuth2RequestInterceptor() {return new TokenRelayRequestInterceptor();} } 找到了open feign接口现在用的拦截器在拦截器里修改代码即可通过修改URL路由到对应的服务以下两种都可以template.target(host)template.feignTarget(new Target.HardCodedTarget(target.type(), target.name(), host);总结一下查看下使用FeignClient注解的类有没有指定配置和拦截器找到拦截器在拦截器里重新指定RequestTemplate的目标路由即可 Open Feign介绍 OpenFeign是一个基于Java的声明式HTTP客户端它简化了编写基于HTTP的API的代码。它使用了注解来定义和配置HTTP API并且自动地将这些API转换为相应的HTTP请求。 OpenFeign的特点包括 声明式API使用Java接口和注解定义和配置HTTP API无需手动拼接URL和参数。 支持多种编码器支持多种编码器包括常见的JSON和XML编码器以及自定义的编码器。 内置负载均衡集成了Ribbon负载均衡器可以轻松地对请求进行负载均衡。 支持熔断器集成了Hystrix熔断器可以在服务不可用时阻止不稳定的网络请求。 易于集成可以轻松地集成到Spring应用中也可以独立使用。 通过使用OpenFeign开发人员可以更加简单地与其他服务进行通信而不需要手动编写大量的HTTP请求代码。这使得开发人员可以更加专注于业务逻辑的实现提高了开发效率。
http://www.zqtcl.cn/news/906838/

相关文章:

  • 淘宝网站是谁做的好处wordpress商业授权
  • 淘宝客网站怎么批量采集淘宝商品方维采集淘宝数据思路珠宝类网站建设
  • 重庆网站关键字优化雅布设计中国分公司在哪里
  • 山西做网站费用温州做网站制作
  • 购买域名后 可以做网站么苏州市建设厅网站
  • 网站域名如何查询win7优化配置的方法
  • 免费建网站的服务器佛山城市建设工程有限公司
  • 安溪人做的网站wordpress 单页面 主题
  • 品牌型网站设计创意 国外 网站
  • o2o网站建设包括哪些平面设计作品欣赏
  • 万齐网站建设成都旅游攻略自由行攻略地图
  • 新网做网站流程app下载汅api未满入内
  • 邓州网站建设建设摩托车价格大全
  • 关闭网站怎么不保存我做的更改软件工程师英文
  • 垦利网站定制提供哈尔滨网站建设服务
  • 谷歌在线浏览器入口seo内容优化是什么意思
  • 新闻门户网站免费建设西安做企业网站哪家做的好
  • 湘潭网站建设 w磐石网络安徽省工程建设信息网官方网站
  • 移动端网站开发教程局网站建设工作征求意见
  • 浙江网站建设公司地址南京做电商网站的公司
  • 网上销售型的企业网站建行个人手机银行
  • 网站建设与规划方案书网站建设策划有哪些
  • 手机网站建设推广方案ppt模板单页企业官网模板
  • 荥阳网站建设多少钱长沙企业关键词优化哪家好
  • 网站购物流程模块怎么实现最新足球赛事
  • 网站建设后需要维护吗网站规划的案例
  • 北京造价员变更在哪个网站做免费域名申请入口
  • 百度免费收录提交入口seo wordpress theme
  • 公司付网站会员费科目怎么做wordpress 多站点 主题
  • 做深度的互联网站网站突然没收录了