首页 > 其他分享 >分享:开源网关-应用管理篇

分享:开源网关-应用管理篇

时间:2023-04-25 18:32:32浏览次数:44  
标签:网关 Apinto 请求 开源 API 应用 分享 鉴权


需求痛点

在这互联网高速发展的时代,企业业务系统多、渠道广,如何管理内外部调用端系统具有极大的挑战。


  1. 数量方面:API网关需要对各端应用统一管理,例如对企业自身很多的前端应用,包括不限于web应用、移动APP、小程序,甚至第三方各端的应用进行管理,确保各应用有序、合规调用服务。
  2. 安全方面:API网关需要对应用进行安全管理,例如对用户权限和接口访问控制进行限制,防止恶意GJ和数据泄露等安全问题。
  3. 监控方面:API网关需要对应用调用API进行实时监控,收集、分析和展示服务性能和用户行为等数据,为优化服务提供有力支持。
  4. 治理方面:API网关需要对应用请求流量进行治理,包括流量控制、限流、熔断、降级等措施,以确保后端服务的可靠性和稳定性。

基于上述挑战,Apinto 网关提出应用管理概念,统一管理应用及其生命周期。应用作为业务通讯的发起者角色,始终贯穿着整个调用链,Apinto网关对应用请求的流量进行鉴权认证,并对其服务治理,同时还对其监控告警,统计应用调用情况。

功能介绍

Apinto网关的应用管理提供了对API的身份认证和访问控制功能。在Apinto网关中,应用是调用API的主体,每个应用能够自定义属性和添加转发时的请求头部信息,作为API被调用时的附加信息。同时Apinto为应用提供了四种鉴权方式: ApiKeyAkSkJwtBasic,能对API进行访问控制。更细化一层,还能够对鉴权配置标签信息,用于区分是应用下的哪个鉴权。

当用户调用API的请求通过了某个应用的鉴权,可以将该应用认为是API的调用方,应用的相关信息也会被赋予该请求。此外,Apinto的流量策略、访问策略等服务治理功能,能够对特定应用生效。结合策略和应用,也能够从应用的维度对API进行限流等访问控制。

分享:开源网关-应用管理篇_开源

配置步骤

接下来使用Apinto网关的控制台来演示如何配置上游服务、API以及应用。

步骤一:配置上游服务

这一步中配置了静态服务,请求超时时间配置为1000ms并上线至test_apinto集群。

备注:上游服务配置的节点为官方示例接口,该接口会返回请求的信息。

分享:开源网关-应用管理篇_API_02

步骤二:配置API

步骤二配置的示例api使用了上一步的服务,请求路径为/demo_api,接着上线至test_apinto集群。

分享:开源网关-应用管理篇_网关_03

步骤三:配置应用

步骤三新建了一个名为demonstratetion_app的应用,自定义属性app_namedemonstratetion_app。并且转发请求的头部携带上app_namedemonstratetion_app

分享:开源网关-应用管理篇_访问控制_04

步骤四:配置应用的鉴权

在这一步中,为应用新建一个鉴权,类型为apikey,并且鉴权永不过期。

配置说明:当请求头部有Authorization: demo_apikey时通过鉴权。

分享:开源网关-应用管理篇_开源_05

步骤五:调用API

这里使用eolink的apikit进行演示,调用上线至test_apinto集群的api,请求路径为/demo_api,请求头不携带鉴权信息。可以从下图的请求结果看到返回了403。

分享:开源网关-应用管理篇_网关_06


而这次在请求头部中携带Authorization: demo_apikey,可以看到请求返回内容中确实携带了应用的头部信息。

分享:开源网关-应用管理篇_开源_07


总结

Apinto是一款高性能、可扩展、易维护的API网关。

Apinto网关开箱即用,整个过程仅用2个小时就能快速入门,至于其他功能后续再进行研究!

喜欢或感兴趣的小伙伴们赶紧去下载安装体验吧!

为了支持Apinto团队提供更好的开源体验,记得fork一下噢。

开源地址:https://github.com/eolinker/apinto


标签:网关,Apinto,请求,开源,API,应用,分享,鉴权
From: https://blog.51cto.com/u_15953328/6224833

相关文章

  • API 自动化测试难点分享
    笔者是API管理工具的项目参与者之一,在日常工作中会经常遇到API自动化测试难点,我决定总结分享给大家: API自动化测试的难点包括:接口的参数组合较多,需要覆盖各种可能的情况。接口的状态和数据关联较多,需要验证返回结果是否符合预期。接口的并发访问和性能测试较为复杂,需......
  • 分享总结:开源网关-应用管理篇
    需求痛点在这互联网高速发展的时代,企业业务系统多、渠道广,如何管理内外部调用端系统具有极大的挑战。数量方面:API网关需要对各端应用统一管理,例如对企业自身很多的前端应用,包括不限于web应用、移动APP、小程序,甚至第三方各端的应用进行管理,确保各应用有序、合规调用服务。安......
  • AI边缘计算智能分析网关灭火器缺失检测与告警的实现过程
    AI智能分析网关基于边缘智能,部署了多种AI深度学习算法,可对接入的多路视频流进行智能检测、智能识别等,包括人脸检测与识别、车辆检测与识别、车牌识别、烟火识别、安全帽识别、区域入侵检测等。今天我们来介绍下关于灭火器缺失检测与告警的实现过程。灭火器缺失检测具体是指,可对指定......
  • 开源大模型(large language model, LLM)介绍
    作为如今LLM圈内绝对的领头羊,OpenAI并没有遵从其创立初衷,无论是ChatGPT早期所使用的的GPT3、GPT3.5还是此后推出的GPT4模型,OpenAI都因“暂无法保证其不被滥用”为由拒绝了对模型开源,开启了订阅付费模式。对于大型科技企业而言,不管是出于秀肌肉还是出于商业竞争目的,自研LLM都是一......
  • API网关:开源Apinto网关-上游服务篇(二)
    功能介绍服务发现是一种分布式系统中的关键技术,它能够帮助应用程序动态地发现和访问依赖的服务实例,解决了服务实例分布在不同节点上的问题。通过服务发现,应用程序可以快速找到需要调用的服务实例的位置和元数据信息,并实现负载均衡和故障恢复等功能,从而提高分布式系统的可用性和性能......
  • API网关:开源Apinto网关-上游服务篇(二)
    功能介绍服务发现是一种分布式系统中的关键技术,它能够帮助应用程序动态地发现和访问依赖的服务实例,解决了服务实例分布在不同节点上的问题。通过服务发现,应用程序可以快速找到需要调用的服务实例的位置和元数据信息,并实现负载均衡和故障恢复等功能,从而提高分布式系统的可用性和......
  • API网关:开源Apinto网关-上游服务篇(一)
    背景介绍Apinto是一款高性能、可扩展、易维护的API网关。Apinto网关基于GO语言模块化开发,5分钟极速部署,配置简单、易于维护,支持集群与动态扩容,企业级开箱即用。Apinto除了提供丰富的网关插件外,还将提供监控告警、用户角色等企业插件,同时支持自定义网关插件和可扩展企业......
  • MySQL 备忘清单_开发速查表分享
    MySQL备忘清单MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、......
  • 分享Python采集88个NET电子商务源码,总有一款适合您
    Python采集的88个NET电子商务源码下载链接:百度网盘请输入提取码 提取码:c0gh编辑众筹系统(RaiseDreams众筹梦想)V2.1.6云点滴客户关系管理CRMOA系统V1.02.13云点滴客户解决方案V1.0.0创想商务B2B网站管理系统V3.1冰兔(Btoo)网店系统V6.39ASP.NET4.0电子商城MVC+EF水果市场2......
  • MinIO免费吗?其开源协议由Apache2.0变为AGPLv3意味着什么?
    来源:https://www.cnblogs.com/flying607/p/17236098.html最近做对象存储的选型,看到网上呼声较高的MinIO,于是去了解了一下,开源中国上写着其协议是Apache。 不放心又去github上看了一下,发现其协议是AGPLv3而且是半路换的协议,由Apache2.0编程了AGPL,这个变更的意思很明显,不然也......