【亲测免费】 Apache APISIX Go 插件运行器(apisix-go-plugin-runner)使用教程

Apache APISIX Go 插件运行器(apisix-go-plugin-runner)使用教程

1. 项目目录结构及介绍

apisix-go-plugin-runner 的目录结构如下:

cmd/go-runner
├── main.go     // 入口文件,示例程序的主函数
├── main_test.go   // 主函数的测试代码
├── plugins
│   ├── say.go    // 示例插件,用于“打招呼”的功能
│   └── say_test.go  // 示例插件的测试代码
└── version.go    // 版本信息相关代码

这个项目的主要部分是 cmd/go-runner 目录,其中包含了使用 Go Runner SDK 开发的一个示例。main.go 是入口点,展示了如何集成和执行 Go 插件。plugins 文件夹包含了开发自定义插件的例子。

2. 项目启动文件介绍

main.go 文件是项目的核心,它定义了如何启动 Go 运行时并处理接收到的请求。在实际应用中,你需要在这个文件中实现你的业务逻辑,比如加载和执行你的 Go 插件。

以下命令可以编译示例代码:

make build

编译完成后,会在指定目录下生成可执行文件 go-runner

3. 项目的配置文件介绍

为了使 Apache APISIX 能够与 apisix-go-plugin-runner 配合工作,需要在 APISIX 的配置文件 conf/config.yaml 中进行相应的设置。这通常涉及到以下两个关键配置项:

  • ext-plugin: 这个字段指定了外部插件运行器的相关命令,如:

    ext-plugin:
      cmd: ["/path/to/apisix-go-plugin-runner/go-runner", "run"]
    

    确保替换 /path/to/apisix-go-plugin-runner/go-runner 为你的可执行文件的实际路径。

  • path_for_test (可选): 在开发过程中,如果你希望独立运行 apisix-go-plugin-runner,可以使用这个选项来指定一个测试路径和套接字,例如:

    ext-plugin:
      path_for_test: /tmp/runner.sock
    

然后,启动或重启 Apache APISIX 服务,它将带着配置的 Go 插件运行器一起启动。若在开发模式下,还需要单独以特定方式启动 go-runner

APISIX_LISTEN_ADDRESS=unix:/tmp/runner.sock /path/to/go-runner run

确保 APISIX_LISTEN_ADDRESS 的值与 APISIX 配置中的 path_for_test 值匹配。

以上就是关于 Apache APISIX Go 插件运行器的基本配置和使用指南。通过这些步骤,你可以结合自己的 Go 插件,实现与 APISIX 的集成,扩展其功能。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值