35

基于Kong网关的管理平台Konga(9.9)

 5 years ago
source link: https://www.tuicool.com/articles/QNv6Rrr
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
bqE3A3E.jpg!web
在年中我们重新修订了ESB服务总线和API网关的产品规划后,初步决策还是基于Kong网关来定制开放API网关平台,对于Kong网关前面已经有文章做过介绍,下面再总结下Kong网关的一些关键特点。

1.可扩展性: 通过简单地添加更多的服务器,可以轻松地进行横向扩展,这意味着您的平台可以在一个较低负载的情况下处理任何请求;

2.模块化: 可以通过添加新的插件进行扩展,这些插件可以通过RESTful Admin API轻松配置;

3.在任何基础架构上运行: Kong网关可以在任何地方都能运行。您可以在云或内部网络环境中部署Kong,包括单个或多个数据中心设置,以及public,private 或invite-only APIs。

4.数据中心: 用于存储Kong集群节点信息、API、消费者、插件等信息。Kong集群中的节点通过gossip协议自动发现其他节点,当通过一个Kong节点的管理API进行一些变更时也会通知其他节点。

对于Kong网关更多的是引擎,Kong网关自带的管理端功能也比较弱,因此还是有必要基于Kong网关来开发一个网关的管控治理平台,而对于管理平台的开发本身又又三个思路可以选择。

思路1: 基于我们已有的自研ESB,研究Kong网关的Admin API进行管理平台定制

思路2: 完全重新定制一套新的API管理平台,全新开发,但是管理平台和监控平台分离

思路3: 基于Konga开源的API管理配置平台进行扩展开发

实际上对于三个思路里面工作量最大的是思路2,能够快速实现的是思路3。因此在决策全部重新开发前还是有必要对Konga管理平台进行下研究。Konga平台是当前使用最多的一个基于Kong网关的第三方开源管理平台,而且完全基于Kong Admin API,功能也比Kong原生的管理台增强了不少。

具体的GitHub地址为:

https://github.com/exceedzhang/konga

我们可以看下该平台的主要特征:

Manage all Kong Admin API Objects.

Import Consumers from remote sources (Databases, files, APIs etc.).

Manage multiple Kong Nodes.

Backup, restore and migrate Kong Nodes using Snapshots.

Monitor Node and API states using health checks.

Email & Slack notifications.

Multiple users.

Easy database integration (MySQL, postgresSQL, MongoDB, SQL Server).

在这里面可以看到管理平台可以管理所有的Kong Admin API对象接口,也可以从远程资源中导入各类的消费方,可以管理多个Kong网关节点,支撑多用户。同时支持对API接入服务状态进行监控。Konga平台本身自带数据库,但是也支持和主流的MySQL, postgresSQL, MongoDB数据库进行集成。

Kong网关本身具备足够的开放性,提供全面的Admin API对引擎内部功能进行管理。对于Kong Admin API接口的一些介绍可以参考下面这篇文章: https://blog.csdn.net/qism007/article/details/89842130

由于Kong具备足够的开放性,而且增加的功能都是以插件的方式进行提供,Kong的商业化插件的实现很多也是收费的,因此我们可以提供同等功能甚至更多功能的插件,这些插件同时又能实际解决企业的集成问题。

对于插件,优先需要定制开发和优化的主要还是体现在以下几个方面

1. 安全类插件: BaseAuth OAuth2 Key Ldap,其他的访问控制类安全,传输安全

2. 流控类插件: 限流,熔断,入口和出口限制,速率限制

3. 监控类插件: 日志,服务链监控等


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK