转载

Kong v0.10.0rc4 发布

Kong v0.10.0rc4 发布

 

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 v0.10.0rc4 发布

更新日志

  •  Drop the dnsmasq dependency. We now internally resolve both A and SRV DNS records. #1587
  •  The SSL plugin has been removed and dynamic SSL capabilities have been added to Kong core, and are configurable via new properties on the API entity. See the related PR for a detailed explanation of this change. #1970
  • Bump the compatible OpenResty version to 1.11.2.1 and 1.11.2.2. Support for OpenResty1.11.2.2 requires the --without-luajit-lua52 compilation flag.
  • Maintain upstream connections pools which should greatly improve performance, especially for HTTPS upstream connections. We now use HTTP/1.1 for upstream connections as well as an nginx upstreamblock with a configurable keepalive directive, thanks to the new nginx_keepalive configuration property. #1587 #1827
  • Use an in-memory caching strategy for database entities in order to reduce CPU load during requests proxying. #1688
  • Provide negative-caching for missed database entities. This should improve performance in some cases. #1914
  • Separate Admin API and Proxy error logs. Admin API logs are now written to logs/admin_access.log.#1782
  • Final slashes in upstream_url are no longer allowed. #2115
  •  Support for Cassandra 3.x. #1709
  •  SRV records resolution. #1587
  •  Load balancing. When an A or SRV record resolves to multiple entries, Kong now rotates those upstream targets with a Round-Robin algorithm. This is a first step towards implementing more load balancing algorithms. Another way to specify multiple upstream targets is to use the newly introduced/upstreams and /targets entities of the Admin API. #1587 #1735
  •  Multiple hosts and paths per API. Kong can now route incoming requests to your services based on a combination of Host headers, URIs and HTTP methods. See the related PR for a detailed explanation of the new properties and capabilities of the new router. #1970
  •  Websockets support. Kong can now upgrade client connections to use the ws protocol whenUpgrade: websocket is present. #1827
  • Support for serving the Admin API over SSL. This introduces new properties in the configuration file:admin_listen_ssladmin_ssladmin_ssl_cert and admin_ssl_cert_key#1706
  • Support for upstream connection timeouts. APIs now have 3 new fields: upstream_connect_timeout,upstream_send_timeoutupstream_read_timeout to specify, in milliseconds, a timeout value for requests between Kong and your APIs. #2036
  • Support for clustering key rotation in the underlying Serf process:
    • new cluster_keyring_file property in the configuration file.
    • new kong cluster keys .. CLI commands that expose the underlying serf keys .. commands.#2069
  • Support for lua_socket_pool_size property in configuration file. #2109
  • Plugins:
    •  New AWS Lambda plugin. Thanks Tim Erickson for his collaboration on this new addition.#1777 #1190
    • Anonymous authentication for auth plugins. When such plugins receive theconfig.anonymous=true property, even non-authenticated requests will be proxied by Kong, without the traditional Consumer headers, but with a X-Anonymous-Consumer header. #1666
    • request-transformer: Ability to change the HTTP method of the upstream request. #1635
    • jwt: Support for ES256 signatures. #1920
    • rate-limiting: Ability to select the Redis database to use via the new config.redis_databaseplugin property. #1941
  • Looking for Serf in known installation paths. #1997
  • Including port in upstream Host header. #2045
  • Clarify the purpose of the cluster_listen_rpc property in the configuration file. Thanks Jeremy Monin for the patch. #1860
  • CLI:
    • Avoid double-prefixing migration error messages with the database name (PostgreSQL/Cassandra).
  • Plugins:
    • Fix fault tolerancy logic and error reporting in rate-limiting plugins.
    • CORS: Properly return Access-Control-Allow-Credentials: false if Access-Control-Allow-Origin: *#2104

下载

本站原创,转载时保留以下信息:
本文转自:深度开源(open-open.com)
原文地址:http://www.open-open.com/news/view/49591b15

正文到此结束
Loading...