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

品牌授权网站深圳网站建设报价

品牌授权网站,深圳网站建设报价,百度关键词优化公司哪家好,龙岩网站设计 都找推商吧系统耦合问题 有些时候我们在进行接口调用的时候#xff0c;比如说一个push推送接口#xff0c;有可能会涉及到不同渠道的推送#xff0c;以我目前业务场景为例#xff0c;我做结算后端服务的#xff0c;会与金蝶财务系统进行交互#xff0c;那么我结算后端会涉及到多个结算…耦合问题 有些时候我们在进行接口调用的时候比如说一个push推送接口有可能会涉及到不同渠道的推送以我目前业务场景为例我做结算后端服务的会与金蝶财务系统进行交互那么我结算后端会涉及到多个结算单类型如果每一个种类型的结算单都去暴露一个contoller接口给前端提供而且其实对接第三方的接口有些接口是共通的 前端涉及到的问题 需要调用后端多个controller不同接口不同的传参数如果遇到后端接口修改会涉及到多个页面的修改耦合度很高需要对多个按钮设置权限配置 后端涉及到的问题 需要每个业务接口都去写一个对接第三方接口的push推送方法无形中增加很多重复的代码耦合度也很高如果涉及到第三方服务接口改造后端接口也需要进行更改会修改大量代码 如何解决 创建对接第三方服务的微服务站定为tps服务该服务只作为一个后端微服务与第三方服务进行对接并且合理封装调用参数将公共参数提出进行封装后端其余业务系统对接这个独立的微服务比如订单、结算、供应商系统对接这个服务由tps服务统一提供对接接口其余服务实现这个tps提供的feign接口业务系统只需要关注service层业务的实现无需处理对接的业务逻辑 大致的流程图就是这样的 具体实现 Tps服务 Tps服务暴露feign接口前端统一通过Tps提供的接口进行调用 //对接第三方服务接口 public interface IKingdeeManagementService {Boolean push(KingdeePushCO.Request request); }Feign接口实现类 Slf4j Service public class KingdeeManagementServiceImpl implements IKingdeeManagementService {Autowiredprivate ApplicationContext applicationContext;Autowiredprivate KingdeeThirdSettingService kingdeeThirdSettingService;Overridepublic Boolean push(KingdeePushCO.Request request) {KingdeeBusinessPushServiceEnum kingdeePushServiceEnum KingdeeBusinessPushServiceEnum.getKingdeePushServiceEnumByType(request.getBusinessType());IKingdeeBusinessPushService kingdeePushService null;try {kingdeePushService (IKingdeeBusinessPushService) applicationContext.getBean(kingdeePushServiceEnum.getClazz());} catch (BeansException e) {log.error(当前类型暂未实现,请联系开发);throw new ServiceException(当前类型暂未实现,请联系开发);}RBoolean result null;result kingdeePushService.pushKingdee(request);return true; // }} }枚举类定义 public enum KingdeeBusinessPushServiceEnum {private Class clazz;private Integer type;private String interFaceName;KingdeeBusinessPushServiceEnum(Class clazz, Integer type, String interFaceName) {this.clazz clazz;this.type type;this.interFaceName interFaceName; } RECEIPT_VOUCHER(IJaKingdeeBillClient.class,KingdeeBusinessTypeConstant.RECEIPT_VOUCHER, KingdeeSettingEnum.INTERFACE_TYPE_JA_RECEIPT_VOUCHER.getCode()), ; }分别有clazz、type、interFaceName属性 clazz定义为feign接口业务系统提供的服务接口type前端需要传的参数不同的Integer值代表不同的feign接口映射interFaceName第三方接口枚举表示需要具体调哪个第三方接口 业务系统 拿bms服务举例说明 继承Tps服务的feign接口重写push方法 Feign接口实现通过factory工厂类初始化不同的service实现类 JaKingdeeFactoryUtil 工厂工具类获取工厂实例这里其实也可以使用枚举映射避免以后接口太多需要写很多case when JaKingdeeServiceFactory是个接口提供方法 实现上面的接口通过单例工厂的模式double check的模式实现并且加悲观锁避免一个工作线程多次创建工厂实例SpringContextUtils./getBean/获取servcie实例业务层只需要实现service接口实现不同业务逻辑的push推送方法 总结 这是我之前设计的关于接口统一调用的流程当然其实还是包括对接第三方重复调用的问题、调用结果缓存、调用超时解决、失败降级的一些策略如果还有更好的接口统一调用方式欢迎大家评论区留言讨论
http://www.hkea.cn/news/14322981/

相关文章:

  • 炫酷的企业网站建设银行如何设置网站查询密码
  • 沈阳网站制作定制策划怎么做自己的网站赚钱
  • 安徽合肥建设局网站企业信息管理平台系统
  • 黄骗免费网站中国服务外包研究中心
  • 织梦做仿站时 为何会发生本地地址跳转网站地址陕西省建设信息管理网站
  • 网站建设原则应考虑哪些海外平台推广方法
  • 智能建站是什么昆明排名seo公司
  • 南川区 网站集约化建设方案深圳网站建设及推广服务公司
  • 网页与网站设计工作内容长沙服务好的网络营销
  • 温州做网站哪家比较好郴州网签备案查询系统
  • 汕头网站推广找哪里展台展馆设计搭建
  • 建设网站合同范本wordpress搜索代码制做
  • 备案网站名称攻略怎么查看企业的营业执照
  • 网站建设用宝塔去掉自动升级wordpress失败提示
  • 沂源网站建设yx718软件开发需要多少钱?
  • 用php内容做电商网站一个人做运营网站
  • 用html做女装网站目前徐州有多少网架公司
  • 服装网站开发方案网站建设方案情况汇报
  • 万能站工具的企业网站系统瑞丽市建设局网站
  • 苏州企业网站优化多点网络网站制作系统
  • 网站统计查询贵阳专用网站建设
  • pc端的网站设计方案湘潭网站建设 安全还踏实磐石网络
  • 用dw做淘宝网站wordpress服务器如何使用
  • 建设监理网站织梦官网模板
  • 东莞大型网站建设网站怎样建设友情链接
  • wordpress 七牛云上传图片南阳网站排名优化价格
  • dedecms织梦古典艺术书画书法公司企业网站源码模板网站制作百度网盘
  • 网站怎么做平台百度指数需求图谱
  • 网站建设知识点的总结做网站做论坛赚钱吗
  • 阿勒泰建设招聘网站免费成品网站