Mashape开源了他们的API层:Kong。
Kong是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。Kong有两个主要组件:
Kong Server :基于nginx的服务器,用来接收API请求。
Apache Cassandra :用来存储操作数据。
你可以通过增加更多Kong Server机器对Kong服务进行水平扩展,通过前置的负载均衡器向这些机器分发请求。根据文档描述,两个Cassandra节点就足以支撑绝大多数情况,但如果网络非常拥挤,可以考虑适当增加更多节点。
对于开源社区来说,Kong中最诱人的一个特性是可以通过插件扩展已有功能,这些插件在API请求响应循环的生命周期中被执行。插件使用Lua编写,而且Kong还有如下几个基础功能:HTTP基本认证、密钥认证、CORS( Cross-origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API请求限流、请求转发以及nginx监控。
Kong包可运行在某些Linux发行版、Mac OS X和Docker中,无论是本地机还是云端服务器皆可运行。
除了免费的开源版本,Mashape还提供了付费的企业版,其中包括技术支持、使用培训服务以及API分析插件。