Skip to content

A gateway developed based on golang.With a variety of plug-ins which can be expanded by itself, plug and play. what's more,it can quickly help enterprises manage API services and improve the stability and security of API services.

License

eolinker/apinto

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Apinto

Go Report Card Releases LICENSE Contributor Covenant


Apinto是一个基于 Golang 开发的微服务网关,能够实现高性能 HTTP API 转发、多租户管理、API 访问权限控制等目的,拥有强大的自定义插件系统可以自行扩展,能够快速帮助企业进行 API 服务治理、提高 API 服务的稳定性和安全性。未来我们将提供插件市场,通过Apinto强大的插件拓展能力,用户可像乐高积木一样根据需要自行拓展Apinto的插件,丰富Apinto的能力。

注意:main分支为开发主要分支,频繁更新可能导致使用不稳定,若需要使用稳定版本,请查看release

Apinto 集合了配置和转发功能,使用者可以通过openAPI进行配置,也可通过可视化UI项目Apinto Dashboard进行配置,相关文档可点击Apinto Dashboard部署文档

概况 | English Introduction

为什么要使用Apinto

Apinto是运行在企业系统服务边界上的API网关。当您构建网站、App、IOT甚至是开放API交易时,Apinto 能够帮你将内部系统中重复的组件抽取出来并放置在Apinto网关上运行,如进行用户授权、访问控制、防火墙、数据转换等;并且Apinto 提供服务编排的功能,让企业可以快速从各类服务上获取需要的数据,对业务实现快速响应。

Apinto具有以下优势:

  • 完全开源:Apinto 项目由 Eolinker 发起并长期维护,我们希望与全球开发者共同打造微服务生态的基础设施。
  • 优异的性能表现:相同环境下,Apinto比Nginx、Kong等产品快约50%,并且在稳定性上也有所优化。
  • 丰富的功能:Apinto 提供了一个标准网关应有的所有功能,并且你可以快速连接你的各个微服务以及管理网络流量。
  • 极低的使用和维护成本:Apinto 是纯 Go 语言开发的开源网关,没有繁琐的部署,没有外部产品依赖,只需要下载并运行即可,极为简单。
  • 良好的扩展性:Apinto 的绝大部分功能都是模块化的,因此你可以很容易扩展它的能力。

总而言之,Apinto 能让业务开发团队更加专注地实现业务。

Star 历史

Star History Chart

产品特性

功能 描述
动态路由 可通过设置location、query、header、host、method等参数匹配对应的服务
服务发现 支持对接Eureka、Nacos、Consul
负载均衡 支持轮询权重算法
用户鉴权 匿名、Basic、Apikey、JWT、AK/SK认证
SSL证书 管理多个证书
访问域名 可为网关设置访问域名
健康检查 支持对负载的节点进行健康检查,确保服务健壮性
协议 HTTP/HTTPS、Webservice、Restful、gRPC、Dubbo2、SOAP
插件化 流程插件化,按需加载所需模块
OPEN API 支持使用open api配置网关
日志 提供节点的运行日志,可根据日志设置的等级输出
多种日志输出 可将节点的请求日志输出到不同的日志接收器,如file、nsq、kafka等
Cli命令支持 通过Cli命令操控网关,插件安装、下载和网关的开启、关闭等操作均可使用一键命令操控
黑白名单 支持设置黑白名单IP,拦截非法IP
参数映射 将客户端的请求参数映射到转发请求中,可按需改变参数的位置及名称
额外参数 转发请求时,额外加上后端验证参数,如apikey等
转发重写 支持对 schemeurihost 的重写,同时支持对转发请求的请求头部header的值进行新增或者删除
流量控制 拦截异常流量

迭代计划

  • UI界面支持: 通过UI界面操作网关配置,可以通过需要加载定制不同的UI界面(主题)

  • 多协议支持:支持多种协议,包括但不限于:gRPC、Websocket、tcp/udp、Dubbo

  • 插件市场:由于apinto主要是通过插件加载的方式加载所需模块,用户可将所需功能编译成插件,也可从插件市场中下载更新贡献者开发的插件,一键安装使用

  • 服务编排:一个编排API对应多个backend,backend的入参支持客户端传入,也支持backend间的参数传递;backend的返回数据支持字段的过滤、删除、移动、重命名、拆包和封包;编排API能够设定编排调用失败时的异常返回

  • 监控:捕获网关请求数据,并可将其导出到promethus、Graphite中进行分析

  • .....

2022年迭代计划

roadmap_cn

基准测试

image

部署

启动

1.下载安装包并解压(此处以v0.12.1版本的安装包示例)

wget https://github.com/eolinker/apinto/releases/download/v0.12.1/apinto_v0.12.1_linux_amd64.tar.gz && tar -zxvf apinto_v0.12.1_linux_amd64.tar.gz && cd apinto

Apinto支持在arm64、amd64架构上运行。

请根据需要下载对应架构及系统的安装包,安装包下载请点击跳转

2.启动网关:

./apinto start

3.如需可视化界面请点击Apinto Dashboard

  • 联系我们

关于我们

EOLINK 是领先的 API 管理服务供应商,为全球超过3000家企业提供专业的 API 研发管理、API自动化测试、API监控、API网关等服务。是首家为ITSS(中国电子工业标准化技术协会)制定API研发管理行业规范的企业。

官方网站:https://www.eolink.com

免费下载PC桌面端:https://www.eolink.com/pc/

About

A gateway developed based on golang.With a variety of plug-ins which can be expanded by itself, plug and play. what's more,it can quickly help enterprises manage API services and improve the stability and security of API services.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages