Tyk API网关

Tyk是一个开源企业API网关,支持REST,GraphQL,TCP和gRPC协议。

Tyk Gateway是“包括电池”提供的,没有功能锁定。使您的组织能够控制谁访问您的API,访问它们的时间以及访问方式。

Tyk Technologies对其所有应用程序使用相同的API网关。为全球成千上万的组织和企业保护,保护和处理API。开放银行,在云中构建软件以及向团队,合作伙伴和消费者公开API的理想选择。

从头开始构建,使其成为地球上最快的API网关。它不依赖于下面的旧式代理。除了Redis之外,它没有第三方依赖关系,用于分布式速率限制和令牌存储。Tyk Gateway也可以部署为更大的Full Lifecycle API管理平台Tyk Self-Managed的一部分,该平台还包括管理控制平面,仪表板GUI和开发人员门户。

开源API网关功能
使用任何协议: REST,SOAP,GraphQL,gRPC和TCP。

行业标准身份验证:OIDC,JWT,承载令牌,基本身份验证,客户端证书等。

开放的API标准:将您的Swagger和OAS2 / 3文档导入Tyk中的脚手架API。

超高性能:低延迟和仅单个CPU即可实现数千rp的水平和垂直扩展。

内容中介:转换所有内容,从请求或响应标头到在SOAP和GraphQL之间转换。

可扩展的插件体系结构:通过以您选择的语言(从Python到Javascript到Go或任何支持gRPC的语言)编写插件来定制Tyk的中间件链。

速率限制和配额:保护您的上游免受过载和/或对每个消费者施加限制。

API版本控制-可以在特定时间和日期轻松设置和弃用API版本。

粒度访问控制-在每个版本和操作的基础上授予对一个或多个API的访问权限。

阻止列表/允许列表/被忽略的端点访问-逐个版本对访问点实施严格的安全模型。

Analytics日志记录-记录有关谁在使用您的API的详细使用情况数据(仅原始数据)

CORS-为某些API启用CORS,以便用户可以进行基于浏览器的请求

Webhooks-针对诸如配额违反和身份验证失败之类的事件触发Webhooks

IP允许列表-阻止对非信任IP地址的访问,以实现更安全的交互

重载-可以动态更改Tyk配置,并重新启动服务,而不会影响任何活动请求

Kubernetes本机声明性API:使用开源Tyk运算符(更多信息参见OSS部分)

以及您希望从Cloud Native API Gateway获得的所有其他信息

在您的平台上快速入门
立即开始使用Tyk Gateway(独立)

安装

Docker(推荐方法)
Kubernetes-Native
Kubernetes-Helm
Ansible
红色的帽子
的Ubuntu
CentOS的
从源代码编译(请参见下面的说明)
编译Tyk网关
从源编译

git clone https://github.com/TykTechnologies/tyk
go build
需要build 1.12来构建master当前的开发版本。TYK官方支持linux/amd64,linux/i386和linux/arm64。

测试针对Go版本1.12、1.13、1.14和1.15进行,但是目前仅官方支持Go 1.12。为了在本地运行测试,请使用以下命令:

go test ./…
请注意,测试要求Redis必须在同一台机器上运行(默认端口)。

为了编写自己的测试请使用此指南https://github.com/TykTechnologies/tyk/blob/master/TESTING.md

贡献
有关贡献PR和问题的更多信息,请参见CONTRIBUTING.md。

Tyk OSS集成
Tyk Technologies维护可与Tyk API Gateway结合使用的其他开源软件:

Tyk Pump-可插拔分析程序清除器,可将您的Tyk节点生成的Analytics(分析)移动到任何后端。

Tyk Operator-将API管理功能引入Kubernetes。使用自定义资源和Kubernetes本机原语配置入口,API,安全策略,身份验证,授权,中介等-所有这些

Tyk Identity Broker-第三方登录的Tyk身份验证代理

Tyk Sync-命令行工具和库,用于管理Tyk安装并将其与版本控制系统(VCS)同步。

Tyk Mserv-资产服务器和gRPC主机