APISIX 项目的目录结构如下:
.
├── apisix # APISIX 的核心代码
│ ├── admin_api # 管理 API 相关代码
│ ├── balancer # 负载均衡相关代码
│ ├── core # 核心代码(路由、插件等)
│ ├── http # HTTP 相关代码
│ └── stream # TCP/UDP 相关代码
├── bin # 启动脚本和命令行工具
├── conf # 配置文件目录
├── docker # Docker 相关配置文件
├── k8s # Kubernetes 相关配置文件
├── logs # 日志目录,运行时生成
└── scripts # 辅助脚本和工具
其中,apisix 目录是 APISIX 的核心代码。admin_api 子目录包含了管理 API 的实现,可以通过该 API 进行动态配置。balancer 子目录包含了负载均衡相关的实现,支持多种负载均衡算法。core 子目录包含了 APISIX 的核心功能,包括路由、插件等。http 和 stream 分别包含了 HTTP 和 TCP/UDP 服务相关的实现。
除此之外,还有一些辅助性的目录和文件:
bin: 包含了启动脚本和命令行工具,可以使用bin/apisix命令启动 APISIX。conf: 包含了默认的配置文件和样例配置文件,可以根据需要进行修改。docker: 包含了构建 Docker 镜像所需的文件。k8s: 包含了 Kubernetes 部署所需的 YAML 文件。logs: 运行时生成的日志目录。scripts: 包含了一些辅助性脚本和工具。
这些目录和文件组成了 APISIX 项目的主要结构,开发者可以在此基础上进行二次开发或扩展。




