跳到主要内容
版本:3.10.x

自定义插件

在现有插件无法完全满足特定需求的场景下,定制插件是必不可少的。一方面,它们允许 API 网关连接到现有解决方案无法解决的专有系统、遗留基础设施或非标准协议。另一方面,通过定制插件,用户可以对API网关进行定制和扩展,以满足独特的业务需求。

然而,自定义插件具有固有的安全风险,尤其是在执行用户编写的代码时。由于自定义插件通过网关运行时运行,因此你应该在部署之前仔细查看插件代码,并在非生产环境中对其进行验证。

要在插件网关中使用自定义插件,用户只需上传插件文件,为组织选择适当的目录,提供插件的使用说明和作者信息等详细信息,并可选择上传徽标。配置完成后,插件就可以在系统中添加和使用,并且其名称必须保持唯一以避免冲突。自定义插件创建后,可以方便地被所有网关组和服务引用,增强 API 管理的整体灵活性和效率。

API7 网关控制台中“添加自定义插件”表单的屏幕截图,用户在其中上传 Lua 插件文件并在将其发布到网关组之前提供元数据

主要特点

  • 独家支持Lua定制插件开发,保证与API7 网关核心的一致性,同时保持轻量级和高性能运行。
  • 自定义插件可以像其他内置插件一样,可以直接应用于路由或服务,实现灵活、有针对性的API 流量管理。
  • 自定义插件可以在所有网关上激活,或专门分配给特定的网关组,从而提供对插件运行时间和地点的精细控制。
  • 自定义插件应被视为特权网关扩展,并与其他运行时代码一样谨慎地进行审查。

用例

与传统或非标准协议集成

当企业需要将其 API 网关与内部系统或遗留应用程序集成时,他们可能需要定制适合其系统的插件。在这种情况下,自定义插件对于希望在采用现代 API 管理实践的同时保持与其现有基础设施的兼容性的组织至关重要。

许多遗留系统依赖于现代 API 管理工具本身不支持的专有协议或数据格式。此外,标准插件在处理非标准协议或数据格式时可能无法完全满足要求。为了弥补这一差距,可以开发定制插件来处理独特的业务需求。

例如,自定义插件可以在专有格式和行业标准格式之间执行数据转换。这确保了 API 网关可以有效地管理传统或非标准协议服务与新协议服务之间的请求和响应。

定制广泛的功能

定制插件提供了一种定制 API 网关的方法,以满足组织的特定需求,特别是在处理复杂的用例时。定制插件允许企业通过超越内置功能的高度特定功能来增强其 API 网关。

通过使用定制的插件扩展 API 网关,企业不仅可以保留其现有基础设施,还可以实现其系统的现代化和面向未来。这种方法使企业能够保持敏捷并适应不断变化的技术需求,确保长期的可扩展性和灵活性。

平衡灵活性和安全性

在 API7 网关中,自定义插件使用与其他网关插件相同的运行时上下文扩展网关行为。这提供了最大的灵活性,但也意味着自定义插件代码在推出之前应该受到信任、审查和测试。

为了降低风险,请限制谁可以上传或修改自定义插件,在测试环境中验证插件行为,并在部署到生产环境之前遵循组织的代码审查和发布控制。