Kong v0.9.1 发布
jopen 8年前
<p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/22cdaab266499458882a505cb199be22.png" /></p> <p>Kong是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。Kong有两个主要组件:</p> <ul> <li>Kong Server :基于nginx的服务器,用来接收API请求。</li> <li>Apache Cassandra :用来存储操作数据。</li> </ul> <p>你可以通过增加更多Kong Server机器对Kong服务进行水平扩展,通过前置的负载均衡器向这些机器分发请求。根据文档描述,两个Cassandra节点就足以支撑绝大多数情况,但如果网络非常拥挤,可以考虑适当增加更多节点。</p> <p>对于开源社区来说,Kong 中最诱人的一个特性是可以通过插件扩展已有功能,这些插件在 API 请求响应循环的生命周期中被执行。插件使用 Lua 编写,而且 Kong 还有如下几个基础功能:</p> <ul> <li> HTTP 基本认证</li> <li> 密钥认证</li> <li> CORS( Cross-origin Resource Sharing,跨域资源共享)</li> <li> TCP/UDP</li> <li> 文件日志</li> <li> API 请求限流</li> <li> 请求转发</li> <li> nginx 监控</li> </ul> <p><img alt="" src="https://simg.open-open.com/show/8cc1737a2b0ff1e31dcec627751ec625.png" /></p> <h2><img src="file:///C:/Users/wzw/AppData/Local/Temp/enhtmlclip/Image.png" />更新日志</h2> <h3>添加</h3> <ul> <li>Plugins: <ul> <li>ACL: allow to retrieve/update/delete an ACL by group name. <a href="/misc/goto?guid=4958993549756177922">#1544</a></li> </ul> </li> </ul> <h3>固定</h3> <ul> <li>Correctly parse configuration file settings contaning comments. <a href="/misc/goto?guid=4958993549889357977">#1569</a></li> <li>Prevent third-party Lua modules (and plugins) to override the seed for random number generation. This prevents the creation of conflicitng UUIDs. <a href="/misc/goto?guid=4958993550014996050">#1558</a></li> <li>Use <a href="/misc/goto?guid=4958993550143445395">pgmoon-mashape</a> <code>2.0.0</code> which properly namespaces our fork, avoiding conflicts with other versions of pgmoon, such as the one installed by Lapis. <a href="/misc/goto?guid=4958993550257473064">#1582</a></li> <li>Avoid exposing OpenResty's information on HTTP <code>4xx</code> errors. <a href="/misc/goto?guid=4958993550387908956">#1567</a></li> <li>CLI:</li> <li>Stop third-party services (dnsmasq/Serf) when Kong could not start. <a href="/misc/goto?guid=4958993550513602048">#1588</a></li> <li>Prefix database migration errors (such as Postgres' <code>connection refused</code>) with the database name (<code>postgres</code>/<code>cassandra</code>) to avoid confusions. <a href="/misc/goto?guid=4958993550635726501">#1583</a></li> <li>Plugins:</li> <li>galileo: Use <code>Content-Length</code> header to get request/response body size when <code>log_bodies</code> is disabled. <a href="/misc/goto?guid=4958993550752620593">#1584</a></li> <li>Admin API:</li> <li>Revert the <code>/plugins/enabled</code> endpoint's response to be a JSON array, and not an Object. <a href="/misc/goto?guid=4958993550881900676">#1529</a></li> </ul> <h2>下载</h2> <ul> <li><a href="/misc/goto?guid=4958993551000915516" rel="nofollow"><strong>Source code</strong> (zip)</a></li> <li><a href="/misc/goto?guid=4958993551140271355" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li> </ul> <p>本站原创,转载时保留以下信息:<br /> 本文转自:深度开源(open-open.com)<br /> 原文地址:<a href="http://www.open-open.com/news/view/3c828a60">http://www.open-open.com/news/view/3c828a60</a></p>