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 监控
更新日志
- Serf has been downgraded to version 0.7 in our distributions,although versions up to 0.8.1 are still supported. This fixes a problem when automatically detecting the first non-loopback private IP address, which was defaulted to
127.0.0.1
in Kong 0.10.0. Greater versions of Serf can still
be used, but the IP address needs to be manually specified in the cluster_advertise
configuration property.
- Admin API:
- Disable support for TLS/1.0.
#2212
Added
- Admin API:
- Active targets can be pulled with
GET /upstreams/{name}/targets/active
.
#2230
- Provide a convenience endpoint to disable targets at:
DELETE /upstreams/{name}/targets/{target}
.Under the hood, this creates a new target with weigth = 0
(the correct way of disabling targets, which used to cause confusion).
#2256
- Plugins:
- cors: Support for configuring multiple Origin domains.
#2203
Fixed
- Use an LRU cache for Lua-land entities caching to avoid exhausting the Lua VM memory in long-running instances.
#2246
- Avoid potential deadlocks upon callback errors in the caching module for database entities.
#2197
- Relax multipart MIME type parsing. A space is allowed in between values of the Content-Type header.
#2215
- Admin API:
- Better handling of non-supported HTTP methods on endpoints of the Admin API. In some cases this used to throw an internal error. Calling any endpoint with a non-supported HTTP method now always returns
405 Method Not Allowed
as expected.
#2213
- CLI:
- Better error handling when missing Serf executable.
#2218
- Fix a bug in the
kong migrations
command that would prevent it to run correctly.
#2238
- Trim list values specified in the configuration file.
#2206
- Align the default configuration file's values to the actual, hard-coded default values to avoid confusion.
#2254
- Plugins:
- hmac: Generate an HMAC secret value if none is provided.
#2158
- oauth2: Don't try to remove credential values from request bodies if the MIME type is multipart, since such attemps would result in an error.
#2176
- ldap: This plugin should not be applied to a single Consumer, however, this was not properly enforced. It is now impossible to apply this plugin to a single Consumer (as per all authentication plugin).
#2237
- aws-lambda: Support for
us-west-2
region in schema.
#2257
下载
本站原创,转载时保留以下信息:
本文转自:深度开源(open-open.com)
原文地址:http://www.open-open.com/news/view/615bb2ea