首页 > 其他分享 >业务开发时,接口不能对外暴露怎么办?

业务开发时,接口不能对外暴露怎么办?

时间:2023-09-08 16:32:16浏览次数:42  
标签:网关 服务 请求 暴露 接口 白名单 怎么办 public

在业务开发的时候,经常会遇到某一个接口不能对外暴露,只能内网服务间调用的实际需求。面对这样的情况,我们该如何实现呢?今天,我们就来理一理这个问题,从几个可行的方案中,挑选一个来实现。


1. 内外网接口微服务隔离

将对外暴露的接口和对内暴露的接口分别放到两个微服务上,一个服务里所有的接口均对外暴露,另一个服务的接口只能内网服务间调用。

该方案需要额外编写一个只对内部暴露接口的微服务,将所有只能对内暴露的业务接口聚合到这个微服务里,通过这个聚合的微服务,分别去各个业务侧获取资源。

该方案,新增一个微服务做请求转发,增加了系统的复杂性,增大了调用耗时以及后期的维护成本。


2. 网关 + redis 实现白名单机制

在 redis 里维护一套接口白名单列表,外部请求到达网关时,从 redis 获取接口白名单,在白名单内的接口放行,反之拒绝掉。

该方案的好处是,对业务代码零侵入,只需要维护好白名单列表即可;

不足之处在于,白名单的维护是一个持续性投入的工作,在很多公司,业务开发无法直接触及到 redis,只能提工单申请,增加了开发成本;另外,每次请求进来,都需要判断白名单,增加了系统响应耗时,考虑到正常情况下外部进来的请求大部分都是在白名单内的,只有极少数恶意请求才会被白名单机制所拦截,所以该方案的性价比很低。


专属福利

标签:网关,服务,请求,暴露,接口,白名单,怎么办,public
From: https://blog.51cto.com/u_16115561/7411510

相关文章

  • 视频汇聚平台EsayNVR基于国网B接口的设备注册流程与鉴权技术分享
    国网B接口是用于国家电网视频监控系统内部的接入协议,主要用于视频监控系统与前端系统之间的交互。我们最近一直在研究该接口的接入开发,现在分享一些技术干货。1、接口描述①注册属于数据接口,采用SIP标准协议,URI中的用户名应为下级平台的地址编码。②注册过程需要进行鉴权,使......
  • GB国标28181协议下设备接入EasyCVR后,如何调用接口获取RTMP和RTSP视频流
    EasyCVR是一款安防视频监控平台,具有强大的可拓展性、灵活的视频能力和轻快的部署特性。它支持多种主流标准协议,包括国标GB28181、RTSP/Onvif、RTMP等,并能够接入各个厂家的私有协议与SDK,例如海康Ehome、海大宇等设备的SDK。该平台不仅具备传统安防视频监控的功能,如视频监控直播、云......
  • 利用API商品数据接口可以创造多种便利,以下通过几个具体例子来说明
    在当今的数字化时代,API商品数据接口为许多企业和开发者提供了强大的资源。通过API商品数据接口,我们可以轻松地获取到各种商品信息,包括但不限于价格、库存、商品描述等,从而为我们创造便利。本文将通过几个具体例子来探讨如何利用API商品数据接口给我们创造便利。首先,API商品数据接口......
  • RDMA-内核接口-rxe_map_mr_sg
    描述:映射mr的sg调用链:此处多处调用staticintnvme_rdma_map_sg_fr(structnvme_rdma_queue*queue,    structnvme_rdma_request*req,structnvme_command*c,    intcount){   req->mr=ib_mr_pool_get(queue->qp,&queue->qp->rdma_mrs);  /*  ......
  • 国标GB28181视频监控EasyGBS接入大量通道时,创建角色接口未响应的问题解决方法
    EasyGBS是一款基于国标GB28181协议的视频云服务平台。它支持多路设备同时接入,并能将视频流以RTSP、RTMP、FLV、HLS、WebRTC等格式分发到多个平台和终端。该平台提供了视频监控直播、云端录像、云存储、检索回放、智能告警、语音对讲、平台级联等功能。在视频能力方面,GB28181视频监......
  • RTSP协议视频智能安防监控平台EasyNVR的录像播放及下载接口支持返回在线m3u8格式视频
    随着视频智能安防监控系统的普及,安防监控平台在各行各业的项目中得到了广泛应用。未来,AI智能将成为安防监控的主导方向。为了满足行业需求,TSINGSEE青犀视频不断提升现有产品的适应能力,进一步推动智能安防监控系统的发展。目前,EasyNVR作为TSINGSEE青犀视频开发的稳定可靠的智能安防......
  • 函数式接口
    supplier 获取指定类型数据consumer 处理指定类型数据function处理转换数据predicate判断数据binaryOperator比较两个值大小 函数式接口配合lamda表达式,让方法可以作为参数传递,增加了代码的表现力,简化代码编写;通过lamda表达式定义函数的行为,lamda表达式代表的是函......
  • 详谈Java中抽象类和接口的区别和使用场景
    抽象类和接口的区别抽象类和接口都是Java中实现多态的重要手段,但它们之间有很大的区别:抽象类是一个类,可以拥有成员变量和非抽象方法,而接口只能拥有常量和抽象方法。子类继承抽象类时,必须实现父类的抽象方法,而接口则需要实现所有定义的方法。一个类只能继承一个抽象类,但可以实现多个......
  • 阿里巴巴API接口解析,实现获得商品详情
    要解析阿里巴巴API接口并实现获取商品详情,你需要按照以下步骤进行操作:了解阿里巴巴开放平台:访问阿里巴巴开放平台,并了解相关的API文档、开发者指南和规定。注册开发者账号:在阿里巴巴开放平台上注册一个开发者账号,并创建一个应用,获取到API权限。获取API密钥:为了使用阿里巴巴API接口,......
  • 1分钟入门接口自动化框架Karate
    From: https://www.cnblogs.com/ourtest/p/10172541.html---------------------------------------------------------------------------介绍在这篇文章中,我们将介绍一下开源的Web-API自动化测试框架——KarateKarate是基于另一个BDD测试框架Cucumber来建立的,并且共用了一些......