Goku Gateway 3.1.x 介绍与选型指南
Eolink 开源 Go 语言 API 网关 Goku Gateway(goku_lite)认知篇:定位、管理面与数据面架构、功能特性、版本节奏与停更现状,及与 Kong/APISIX 的量化选型对比(信息溯源日期 2026-10-23)。
Goku Gateway 3.1.x 介绍与选型指南
目标:面向正在评估 API 网关选型的工程师,完整介绍 Eolink 开源 API 网关 Goku Gateway(开源仓库名 goku_lite,社区版 CE)的定位、架构、功能与版本现状,并给出与 Kong、Apache APISIX 等主流网关的量化选型对比。本篇为纯联网溯源的认知篇,所有版本、活跃度数据均来自 GitHub 仓库页、GitHub Releases、Docker Hub 与 shields.io 徽章接口,信息查询日期为 2026-10-23,不包含本地实测内容;部署、配置与命令的实测内容见本专栏部署与配置各篇。
一、环境信息
本篇为认知与选型篇,不涉及本地安装实验,溯源渠道与查询口径如下:
- 信息查询日期:2026-10-23(文中所有星数、版本号、活跃度均为该日查询值);
- 溯源渠道:
- GitHub 仓库页:
https://github.com/eolinker/goku_lite(旧地址eolinker/goku-api-gateway会自动重定向到该仓库); - GitHub Releases:
https://github.com/eolinker/goku_lite/releases; - Docker Hub 镜像仓库 API:
https://hub.docker.com/v2/repositories/eolinker/goku-api-gateway-ce-console/tags、https://hub.docker.com/v2/repositories/eolinker/goku-api-gateway-ce-node/tags; - 星数/活跃度徽章:
https://img.shields.io/github/stars/eolinker/goku_lite、https://img.shields.io/github/last-commit/eolinker/goku_lite、https://img.shields.io/github/release-date/eolinker/goku_lite(shields.io 徽章数据源,避免直连 GitHub API 受限流影响); - 官方文档站:
https://help.eolinker.com/(Goku 专题教程,含部署教程、快速入门、源码编译); - 官方继任项目:
https://github.com/eolinker/apinto。
- GitHub 仓库页:
二、软件概述
2.1 基本身份
Goku API Gateway(本专栏统一称 Goku Gateway,开源仓库名为 goku_lite,社区版全称 Goku API Gateway CE)是 Eolink(Eolink Inc.,API 全生命周期管理服务商,官网 https://www.eolinker.com)开源的 Go 语言微服务网关,运行在企业系统服务边界上,提供高性能动态路由、服务编排、多租户管理、API 访问控制等能力。
⚠️ 防混淆注记:GitHub 仓库名为
goku_lite,但它是产品 Goku API Gateway 的社区开源版(CE),不是独立的轻量分支;本专栏与文档标题统一使用产品名「Goku Gateway」。此外,goku_lite与日本动漫角色、龙珠系列均无任何关系,是 Eolink 自命名的产品代号。
基本身份一览(查询日期 2026-10-23):
| 属性 | 值 | 来源 |
|---|---|---|
| 产品名 | Goku API Gateway(CE 社区版) | 仓库 README |
| 开源仓库 | eolinker/goku_lite(原名 goku-api-gateway,旧链接自动重定向) | GitHub 仓库页 |
| 开发语言 | Go(纯 Go 实现) | 仓库 README |
| 开源协议 | GPL-3.0(Copyright 2017-2019 Eolink Inc.) | 仓库 LICENSE/README |
| 维护方 | Eolink(Eolink Inc.),同步提供企业版(EE) | 仓库 README |
| GitHub Stars | 3.1k | shields.io 徽章(2026-10-23) |
| GitHub Forks | 588 | shields.io 徽章(2026-10-23) |
| 最新 GitHub Release | 3.1.3(2020 年 1 月) | GitHub Releases + shields.io release-date |
| 最后一次代码提交 | 2022 年 8 月 | shields.io last-commit 徽章 |
| 维护状态 | 已停止维护(README 顶部明示),官方继任项目为 apinto | 仓库 README 横幅 |
2.2 维护现状与继任者(选型前必读)
GitHub 仓库 README 顶部有一条明确的声明横幅:
Goku_lite project has stopped maintenance. We have launched a new generation of Goku gateway. Welcome to pay attention apinto
即官方已宣布 goku_lite 停止维护,并推出了新一代 Goku 网关 Apinto。两个项目的量化对照(查询日期 2026-10-23,均来自 shields.io):
| 指标 | goku_lite(本文主角) | apinto(官方继任者) |
|---|---|---|
| Stars | 3.1k | 1.7k |
| 最新 Release | 3.1.3(2020-01) | v0.22.19 |
| 最近一次代码提交 | 2022 年 8 月 | 2026 年 10 月(本月) |
| 维护状态 | 停止维护 | 活跃维护中 |
解读:goku_lite 的价值在于「文档与架构资料完整、社区存量资料多、Docker 镜像形态成熟」,适合做存量系统维护与网关原理学习;新项目建网关应优先评估 apinto 或其他活跃网关。本专栏仍按批次规划交付 goku_lite 全套实战文档,供存量用户与学习场景使用。
💡 技术拓展:API 网关的产品形态不止「管理台 + 网关节点」这一种,常见形态对比——
形态 代表产品 特点 适用场景 管理台 + 独立数据面 Goku Gateway、Kong(Admin API+Node)、Apinto 控制面与数据面分离,配置集中下发 中大型团队、多节点生产 单进程声明式网关 NGINX+Lua 自建、Caddy 无独立管理台,配置文件驱动 小规模、单一入口 声明式 + 控制器(K8s Ingress) APISIX Ingress、Kong Ingress、Traefik 配置以 CRD 形式存放于 K8s 云原生 Kubernetes 环境 SaaS/云托管网关 各云厂商 API 网关 免运维、按量计费 不想自建、合规允许 Goku Gateway CE 属于第一类:Web 管理台(console)+ 无状态网关节点(node)的经典二分形态,这也是它与 Kong(Admin REST API 驱动)最大的体验差异——Goku 提供图形化控制台,Kong 原生只有 REST 管理接口(图形化需另装 Kong Manager)。
三、核心架构
3.1 管理面与数据面分离
Goku Gateway CE 的官方发行形态是两个独立组件(数据均来自官方 README 与 Docker Hub 官方镜像,查询日期 2026-10-23):
- 管理控制台(Console,管理面):官方 Docker 镜像
eolinker/goku-api-gateway-ce-console,提供 Web 图形化控制台,负责策略、API、编排、插件等配置的管理,配置落库(MySQL)并向网关节点分发; - 网关节点(Node,数据面):官方 Docker 镜像
eolinker/goku-api-gateway-ce-node,即仓库代码编译出的网关进程(README 中称 Goku node),无状态、可横向扩展,从控制台拉取配置并热更新,承担实际流量转发。
架构与数据流可以概括为:
┌───────────────────────────┐
│ 管理控制台 Console │
│ (Web UI + 配置管理 + 落库) │
└───────────┬───────────────┘
│ 配置分发 / 热更新
┌─────────────────┼─────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 网关节点 Node │ │ 网关节点 Node │ │ 网关节点 Node │ ← 无状态,可横向扩容
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
│ │ │
▼ ▼ ▼
后端服务A 后端服务B 后端服务C
(可接 Consul/Eureka 服务发现)
架构要点(依据官方 README 功能清单归纳):
- 节点无状态:README 明确「Goku nodes are stateless and can be expanded horizontally」,扩容只加节点,配置自动同步;
- 热更新:「Continuously updates configurations without restart nodes」,控制台发布配置后节点不重启即生效,且支持「配置版本管理:发布与多次回滚」;
- 服务发现:后端可从 Consul 或 Eureka 动态发现;
- 可观测:支持 Prometheus、Graphite 指标输出,访问日志字段可自定义并周期清理。
3.2 技术栈与依赖
- 网关节点:纯 Go 编译的单二进制/单进程,运行时无解释器依赖(对比 Kong 依赖 OpenResty/LuaJIT、APISIX 依赖 NGINX+LuaJIT);
- 控制台:官方 CE 镜像内含 Web 控制台服务,配置数据依赖 MySQL 存储管理数据(官方部署教程与镜像文档口径,详见本专栏部署篇的实测验证);
- 协议支持:HTTP(S) 转发与反向代理,支持 REST API 与 Webservice 后端,返回数据支持 JSON/XML 转换。
四、功能特性
以下功能清单整理自官方 README 的 Product Features 章节(查询日期 2026-10-23):
| 功能域 | 能力点 | README 原文要点 |
|---|---|---|
| 控制台 | 内置 Dashboard 图形化配置 | Built-in dashboard to configure Goku |
| 集群 | 节点无状态、水平扩展、配置自动同步 | Cluster Management |
| 热更新 | 不重启节点持续更新配置 | Hot Updates |
| 服务编排 | 一个编排对应多个后端;入参支持客户端传入与后端间传参;返回数据支持过滤、删除、移动、重命名、标记、分组;编排调用失败可设置异常返回 | Orchestration |
| 数据转换 | 返回数据转 JSON 或 XML | Data transform |
| 负载均衡 | 加权轮询(Round-robin with weight) | Load balancing |
| 服务发现 | Consul / Eureka | Service Discovery |
| 转发代理 | HTTP(S) 正向/反向代理,隐藏真实后端,支持 REST API 与 Webservice | HTTP(S) Forward Proxy |
| 多租户 | 按策略组织不同用户 | Multi-tenant management |
| 访问策略 | 不同策略访问不同 API,认证方式支持匿名(anonymous)、Apikey、Basic 等 | Strategies |
| 告警 | 异常服务支持 webhook 与邮件告警 | API Alert |
| 转发规则 | 模糊匹配请求路径、转发路径重写 | Flexible transmit rules |
| IP 黑白名单 | IP Whitelist/Blacklist | 同左 |
| 插件 | 自定义插件可挂载在匹配前、访问、代理等通用阶段 | Custom plugins |
| CLI | 命令行启动/停止/重载 Goku | CLI |
| Serverless | 在 Goku 各阶段调用函数 | Serverless |
| 访问日志 | 只记录代理基础内容,字段与排序可自定义,周期自动清理 | Access Log |
| 系统日志 | 控制台与节点运行日志,仅记录错误信息,级别可调 INFO/WARN/DEBUG | System Log |
| Open API | 提供管理 Open API 便于集成 | Open API |
| 配置版本管理 | 支持发布与多次回滚 | Configured version management |
| 监控指标 | 支持 Prometheus、Graphite | Monitoring and metrics |
解读:以 2019~2020 年的开源网关横向坐标看,Goku CE 的功能覆盖是完整的——认证、限流策略、编排、插件、监控告警都有;短板在于生态插件数量与协议广度(HTTP(S) 为主,gRPC/WebSocket/MQTT 等多协议能力是继任者 apinto 才补齐的方向)。
五、快速开始(最小可用示例)
本篇为纯溯源认知篇,不重复部署实测;这里给出官方发行形态与最小部署路径的来源化概述,完整逐条实测的部署过程见本专栏部署篇。
官方发行形态(来源:官方 README Quick Start 章节与 Docker Hub 官方镜像页):
- 镜像形态(官方推荐快速路径):
- 管理台镜像:
eolinker/goku-api-gateway-ce-console; - 网关节点镜像:
eolinker/goku-api-gateway-ce-node;
- 管理台镜像:
- 部署教程(官方文档站):
https://help.eolinker.com/#/tutorial/?groupID=c-371&productID=19(Deployment Tutorial); - 快速入门:
https://help.eolinker.com/#/tutorial/?groupID=c-307&productID=19(Quick Start Tutorial); - 源码编译:
https://help.eolinker.com/#/tutorial/?groupID=c-350&productID=19(Source Code Compilation)。
最小可用路径概述(以官方 Docker 形态为准):启动 MySQL 供控制台落库 → 启动 console 镜像(管理台 Web UI)→ 在控制台初始化管理员 → 启动 node 镜像并注册到控制台 → 在控制台建一条指向后端服务的 API → 用 curl 访问网关端口验证转发。各步骤的完整命令、真实回显与排障记录见本专栏《Goku Gateway 3.1.x Docker Compose 部署指南》(发布后可从专栏目录进入)。
💡 说明:GitHub Release 停在 3.1.3,而 Docker Hub 官方镜像已发到 console 3.1.4、node 3.1.5(详见第七章版本节奏),因此按镜像部署时实际运行版本高于源码 Release 版本,这是该项目特有的版本现象,选型与升级规划时需注意。
六、适用场景与限制
6.1 适用场景
结合官方 README 的定位描述与功能清单,Goku Gateway CE 适合:
- 存量系统维护:历史上采用 Goku CE 的企业系统,网关实例的续用、迁移评估与运维排障;
- 网关原理学习与教学:管理台 + 数据面分离、热更新、编排、插件阶段模型等网关核心概念齐备,且 Go 实现便于阅读源码;
- 中小流量 HTTP(S) API 统一入口:认证(匿名/Apikey/Basic)、IP 黑白名单、加权轮询、日志监控这类经典网关场景;
- 多租户 API 开放:按策略划分不同用户的 API 访问权限的场景。
6.2 限制与风险(选型必读)
- 项目已停止维护(README 官方声明),最后代码提交 2022-08,最后镜像发布 2021-06;不会再有安全补丁,公网暴露场景风险需自行评估;
- GPL-3.0 传染性协议:对二次开发并分发的商业产品有较强传染约束,集成前需法务评估(Kong/APISIX 为 Apache-2.0,约束宽松得多);
- 协议广度:官方功能清单以 HTTP(S) 转发为主,gRPC、WebSocket、MQTT 等多协议场景应评估 apinto 或 APISIX;
- 版本断层:GitHub Release(3.1.3,2020-01)与 Docker 镜像(node 3.1.5,2021-01)不同步,源码编译与镜像部署的版本可能不一致;
- 中文社区为主:文档站 help.eolinker.com 以中文教程为主,国际化资料少,英文团队接入成本高。
七、同类选型对比(量化)
本章对比数据均为 2026-10-23 通过 shields.io 徽章接口与 GitHub Releases 页实查,未做本地性能实测(性能数字不引用二手跑分,仅给官方公开的 benchmark 入口,见参考链接)。
7.1 社区活跃度对比
| 指标(2026-10-23) | Goku Gateway(goku_lite) | Kong | Apache APISIX |
|---|---|---|---|
| GitHub Stars | 3.1k | 44k | 17k |
| GitHub Forks | 588 | —(未取) | —(未取) |
| 最新 Release | 3.1.3(2020-01) | v3.9.4 | v3.19.0 |
| 最近代码提交 | 2022 年 8 月 | 最近一周内 | 查询当日 |
| 维护状态 | 停止维护(官方声明) | 活跃 | 活跃(Apache 顶级项目,CNCF) |
| 开源协议 | GPL-3.0 | Apache-2.0 | Apache-2.0 |
| 实现语言 | Go | Lua / OpenResty | Lua / NGINX(+Go 插件) |
| 管理方式 | Web 控制台 + Open API | Admin REST API(+Kong Manager) | Admin REST API / 声明式 / Dashboard |
解读:活跃度维度上 Goku 与 Kong/APISIX 不在一个量级——后两者保持高频发版与日级提交,Goku 已停更 4 年。选 Goku 只有「存量维护」或「教学/源码学习」两类理由是充分的。
7.2 版本节奏对比
Goku Gateway CE 的历史版本节奏(来源:GitHub Releases 页与 Docker Hub tags 的 last_updated 字段,2026-10-23 查询):
| 时间 | 事件 | 来源 |
|---|---|---|
| 2019-11-19 | console 3.1.0 镜像发布 | Docker Hub tags |
| 2020-01 | GitHub Releases 3.0.0 → 3.1.3(含 3.1.0-beta、3.1.1、3.1.2),最后源码 Release 3.1.3 | GitHub Releases + shields.io release-date(january 2020) |
| 2020-01-18 | node 3.1.0~3.1.3 镜像批量发布 | Docker Hub tags |
| 2020-03-30 | console 3.1.3、console 3.1.1 镜像发布 | Docker Hub tags |
| 2021-01-08 | console 3.1.4 / node 3.1.4 镜像发布(console latest 指向 3.1.4) | Docker Hub tags |
| 2021-01-19 | node 3.1.5 镜像发布(node 系列最新) | Docker Hub tags |
| 2021-06-24 | node latest 标签最后更新 | Docker Hub tags |
| 2022-08 | 最后一次代码提交 | shields.io last-commit |
| 2022 年后 | README 挂出停止维护横幅,项目重心转向 apinto | 仓库 README |
对比 Kong/APISIX 的版本节奏:Kong 当前 v3.9.4、APISIX 当前 v3.19.0(2026-10-23 查询),两者均为持续滚动发版。结论:Goku 的版本节奏在 2021 年后实质冻结,「最新稳定版」对镜像渠道是 node 3.1.5/console 3.1.4,对源码渠道是 3.1.3。
7.3 兼容矩阵
| 维度 | Goku Gateway CE | Kong | APISIX |
|---|---|---|---|
| 运行时依赖 | 无(Go 静态编译二进制) | OpenResty(内嵌) | NGINX+LuaJIT(内嵌) |
| 配置存储 | MySQL(控制台管理数据) | PostgreSQL / Cassandra(或 DB-less 声明式) | etcd |
| 服务发现 | Consul、Eureka | 内置 DNS/Consul(企业版更多) | DNS、Consul、Nacos、Eureka、K8s 等 |
| 核心协议 | HTTP(S)(REST/Webservice) | HTTP/2/gRPC/WebSocket 等 | HTTP/2/gRPC/WebSocket/MQTT 等 |
| 部署形态 | 裸机二进制 / Docker(console+node) | 裸机 / Docker / K8s / Helm | 裸机 / Docker / K8s / Helm |
| 架构 | x86_64(官方镜像) | x86_64 / ARM64 | x86_64 / ARM64 |
| 插件扩展 | Go 源码级插件(挂载于匹配前/访问/代理等阶段) | Lua/Go/Python 插件 + 外部插件 | Lua 插件 + 外部插件(Go/Python/JS/Wasm) |
解读:Goku 的兼容矩阵是 2019 年代典型形态——存储绑 MySQL、服务发现绑 Consul/Eureka、协议绑 HTTP(S)。若基础设施已绑定 etcd/K8s/多协议,应选 APISIX 或 Kong。
7.4 Goku Gateway vs 其他网关:怎么选
按场景给出选择建议:
| 场景 | 建议 | 理由 |
|---|---|---|
| 存量 Goku 系统维护 | 继续用 Goku CE(node 3.1.5 + console 3.1.4) | 迁移成本 > 维护成本;注意安全自负 |
| 新项目、生产公网 | 不要选 Goku;优先 APISIX/Kong/apinto | 停更无补丁;活跃度差距 1~2 个量级 |
| 学习网关原理/读源码 | Goku CE 可选 | Go 实现 + 完整控制台,链路直观 |
| 已用 MySQL、要图形化控制台、纯 HTTP API | Goku CE 功能够用 | 三项均命中其舒适区 |
| 需要多协议(gRPC/WebSocket/MQTT) | apinto / APISIX | Goku 协议广度不足 |
| 商业产品二开分发 | 避开 Goku(GPL-3.0) | 传染性协议;APISIX/Kong 为 Apache-2.0 |
| 喜欢 Goku 的团队想要活跃继任者 | 选 apinto | 官方同一团队的新一代产品 |
一句话结论:Goku Gateway CE 是一个「资料完整但已谢幕」的国产 Go 网关——把它的架构与控制台当教材很好,把新生产流量交给它不行;它真正的血脉延续在 apinto。
八、参考链接
- GitHub 仓库(goku_lite,含停止维护声明与功能清单):
https://github.com/eolinker/goku_lite - GitHub Releases(3.0.0 ~ 3.1.3):
https://github.com/eolinker/goku_lite/releases - Docker Hub 管理台镜像:
https://hub.docker.com/r/eolinker/goku-api-gateway-ce-console - Docker Hub 网关节点镜像:
https://hub.docker.com/r/eolinker/goku-api-gateway-ce-node - 官方文档站(部署教程/快速入门/源码编译/Benchmark):
https://help.eolinker.com/ - 官方继任项目 Apinto:
https://github.com/eolinker/apinto - Eolink 官网:
https://www.eolinker.com - GPL-3.0 协议全文:
https://www.gnu.org/licenses/gpl-3.0.html - 本专栏实战篇(部署/配置/命令)与同组组件可参考:《BlazingMQ 介绍与选型指南》
站内相关:《Goku Gateway 3.1.x 介绍与选型指南》、《Goku Gateway 3.1.x 配置参数详解》、《Goku Gateway 3.1.x 管理面与 CLI 命令详解》、《Goku Gateway 3.1.x 管理面与 CLI 命令详解》