构建api gateway之 动态插件

2023-02-10 00:00:00 函数 模块 插件 加载 动态

动态插件

之前已经拆解细点逐个介绍了 tcp 、http 代理相关核心点,现在介绍一个让 api gateway 变得很灵活的功能实现: 动态插件。

由于 lua 的动态语言特点,我们可以比较方便做到动态插件机制。

首先我们来了解这一切的基石:lua 模块加载机制。

lua 模块加载机制

一个模块是什么样?

例如: xxxmodule.lua 文件内容

local module = {} -- 注意不要使用全局变量,会造成变量污染,导致无法卸载模块
 
-- 定义一个函数
function module.func1()
    io.write("这是一个公有函数!\n")
end

return module

相关文章