1.什么是KongKong 是一个可扩展开源的 API 层工具(也可以叫API网关或者API中间件). Kong 运行在任何 RESTful API 的前端,并且可以通过插件方式扩展,这个插件它提供了超越核心平台的额外的功能和服务的。 具有以下特点:
Kong 构建在高可靠技术,比如NGINX 和Apache Cassandra, 并且为你提供一个易用的 RESTful API 来配置系统。 2.请求的工作流为了更好的理解Kong这个系统,下面是一个典型API的请求工作流:
一旦Kong在运行,每个请求所作出的API将先请求Kong服务器,然后它会被代理到最终的API。这些插件在 API 请求响应循环的生命周期中被执行。Kong将有效地将成为每个API请求的入口点。
Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。Kong 有两个主要组件: 你可以通过增加更多 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 分析插件。 3.Kong的技术架构在我们所有的应用程序和API的前端是Kong。我们使用ElasticSearch来搜索同时存储在多个数据库中的数据,包括:MongoDB的和PostgreSQL,Redis的和Cassandra(为了解决不同的问题域)。我们所有的产品都可以运行在AWS上,对于较小的项目,我们使用Heroku和DigitalOcean来做一些实验原型或测试环境。
Splunk的是我们集中式日志记录系统,Datadog作为一个统一的监控仪表板,以及PagerDuty警报。
|
|
来自: ThinkTank_引擎 > 《Api分发平台》