Kong v0.9.0 RC3發布
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的新的CLI。與一個簡單的配置文件,新設置環境變量支持,新命令,以及一個新的翻譯,新的CLI給Kong用戶提供了更多的強大功能和靈活性,允許更容易集成在您的部署工作流,以及更好的測試開發人員和插件作者。此外,包括一些新的插件和性能改進以及一些bug修復。
改變
- New CLI, with new commands and refined arguments. This new CLI uses the
resty-cli
interpreter (see lua-resty-cli) instead of LuaJIT. As a result, theresty
executable must be available in your$PATH
(resty-cli is shipped in the OpenResty bundle) as well as thebin/kong
executable. Kong does not rely on Luarocks installing thebin/kong
executable anymore. This change of behavior is taken care of if you are using one of the official Kong packages. - Kong uses a new configuration file, with an easier syntax than the previous YAML file.
- New arguments for the CLI, such as verbose, debug and tracing flags. We also avoid requiring the configuration file as an argument to each command as per the previous CLI.
- Customization of the Nginx configuration can now be taken care of using two different approaches: with a custom Nginx configuration template and using
kong start --template <file>
, or by usingkong compile
to generate the Kong Nginx sub-configuration, andinclude
it in a custom Nginx instance. - Plugins:
- Rate Limiting: the
continue_on_error
property is now calledcluster_fault_tolerant
. - Response Rate Limiting: the
continue_on_error
property is now calledcluster_fault_tolerant
.
- Rate Limiting: the
新增
- Support for overriding configuration settings with environment variables.
- Support for SSL connections between Kong and PostgreSQL. #1425
- Ability to apply plugins with more granularity: per-consumer, and global plugins are now possible. #1403
- New
kong check
command: validates a Kong configuration file. - Better version check for third-party dependencies (OpenResty, Serf, dnsmasq). #1307
- Ability to configure the validation depth of database SSL certificates from the configuration file.#1420
request_host
: internationalized url support; utf-8 domain names through punycode support and paths through %-encoding. #1300- Implements caching locks when fetching database configuration (APIs, Plugins...) to avoid dog pile effect on cold nodes. #1402
- Internal locks when for datastore requests. Now Kong will only trigger maximum one request per node to the datastore when requesting a specific entity, which prevents the Dogpile effect. #1402
- Plugins:
- New bot-detection plugin: protect your APIs by detecting and rejecting common bots and crawlers. #1413
- correlation-id: new "tracker" generator, identifying requests per worker and connection. #1288
- request/response-transformer: ability to add strings including colon characters. #1353
- rate-limiting: support for new rate-limiting policies (
cluster
,local
andredis
), and for a newlimit_by
property to force rate-limiting byconsumer
,credential
orip
. - response-rate-limiting: support for new rate-limiting policies (
cluster
,local
andredis
), and for a newlimit_by
property to force rate-limiting byconsumer
,credential
orip
. - galileo: performance improvements of ALF serialization. ALFs are not discarded when exceeding 20MBs anymore. #1463
- statsd: new
upstream_stream
latency metric. #1466 - datadog: new
upstream_stream
latency metric and tagging support for each metric. #1473
移除
- We now use lua-resty-jit-uuid for UUID generation, which is a pure Lua implementation of RFC 4122. As a result, libuuid is not a dependency of Kong anymore.
Bug修復
- Sensitive configuration settings are not printed to stdout anymore. #1256
- Fixed bug that caused nodes to remove themselves from the database when they attempted to join the cluster. #1437
- Plugins:
- request-size-limiting: use proper constant for MB units while setting the size limit. #1416
- OAuth2: security and config validation fixes. #1409 #1112
- request/response-transformer: better validation of fields provided without a value. #1399
- JWT: handle some edge-cases that could result in HTTP 500 errors. #1362
internal
- new test suite using resty-cli and removing the need to monkey-patch the
ngx
global.- custom assertions and new helper methods (
wait_until()
) to gracefully fail in case of timeout.- increase atomicity of the testing environment.
- lighter testing instance, only running 1 worker and not using dnsmasq by default.
下載
- 16.7 MBkong-0.9.0rc3.aws.rpm
- 16.2 MBkong-0.9.0rc3.el6.noarch.rpm
- 16.7 MBkong-0.9.0rc3.el7.noarch.rpm
- 16.7 MBkong-0.9.0rc3.jessie_all.deb
- 12.4 MBkong-0.9.0rc3.osx.pkg
- 16.4 MBkong-0.9.0rc3.precise_all.deb
- 16.9 MBkong-0.9.0rc3.trusty_all.deb
- 16.8 MBkong-0.9.0rc3.vivid_all.deb
- 17.1 MBkong-0.9.0rc3.wheezy_all.deb
- 17 MBkong-0.9.0rc3.xenial_all.deb
- Source code (zip)
- Source code (tar.gz)
本站原創,轉載時保留以下信息:
本文轉自:深度開源(open-open.com)
原文地址:http://www.baiduhome.net/news/view/65914321
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!