需求痛点
-
数量方面:API网关需要对各端应用统一管理,例如对企业自身很多的前端应用,包括不限于web应用、移动APP、小程序,甚至第三方各端的应用进行管理,确保各应用有序、合规调用服务。
-
安全方面:API网关需要对应用进行安全管理,例如对用户权限和接口访问控制进行限制,防止恶意攻击和数据泄露等安全问题。
-
监控方面:API网关需要对应用调用API进行实时监控,收集、分析和展示服务性能和用户行为等数据,为优化服务提供有力支持。
-
治理方面:API网关需要对应用请求流量进行治理,包括流量控制、限流、熔断、降级等措施,以确保后端服务的可靠性和稳定性。
功能介绍
配置步骤
接下来使用Apinto网关的控制台来演示如何配置上游服务、API以及应用。
步骤一:配置上游服务
这一步中配置了静态服务,请求超时时间配置为1000ms并上线至test_apinto集群。
备注:上游服务配置的节点为官方示例接口,该接口会返回请求的信息。
步骤二:配置API
步骤二配置的示例api使用了上一步的服务,请求路径为/demo_api
,接着上线至test_apinto集群。
步骤三:配置应用
步骤三新建了一个名为demonstratetion_app
的应用,自定义属性app_name
:demonstratetion_app
。并且转发请求的头部携带上app_name
:demonstratetion_app
。
步骤四:配置应用的鉴权
在这一步中,为应用新建一个鉴权,类型为apikey,并且鉴权永不过期。
配置说明:当请求头部有Authorization
: demo_apikey
时通过鉴权。
步骤五:调用API
这里使用eolink的apikit进行演示,调用上线至test_apinto集群的api,请求路径为/demo_api
,请求头不携带鉴权信息。可以从下图的请求结果看到返回了403。
而这次在请求头部中携带Authorization
: demo_apikey
,可以看到请求返回内容中确实携带了应用的头部信息。
总结
Apinto网关开箱即用,整个过程仅用2个小时就能快速入门,至于其他功能后续再进行研究!
喜欢或感兴趣的小伙伴们赶紧去下载安装体验吧!
为了支持Apinto团队提供更好的开源体验,记得fork一下噢。
开源地址:https://github.com/eolinker/apinto
背景介绍
Apinto是一款高性能、可扩展、易维护的API网关。
Apinto网关基于GO语言模块化开发,5分钟极速部署,配置简单、易于维护,支持集群与动态扩容,企业级开箱即用。Apinto除了提供丰富的网关插件外,还将提供监控告警、用户角色等企业插件,同时支持自定义网关插件和可扩展企业插件,满足我们企业的定制化需求。
Apinto支持代理外部流量,转发给内部服务,也支持内部服务之间的通信代理。