feat(controllers): improve gateway controller configuration and code quality (#848) Make Image and ImagePullPolicy configurable instead of hardcoded Add GatewayConfig struct with default values Default image: mfordjody/pixiugateway:debug Default pull policy: Always Add warning log for unsupported filter types in mergeFilterConfig Refactor duplicate policy loading loops into shared loadClusterPolicyByName Add unit tests for config and utils_policy packages Resolves PR #827 and #839 review comments
feat(controllers): improve gateway controller configuration and code quality (#848)
Make Image and ImagePullPolicy configurable instead of hardcoded
Add GatewayConfig struct with default values
Default image: mfordjody/pixiugateway:debug
Default pull policy: Always
Add warning log for unsupported filter types in mergeFilterConfig
Refactor duplicate policy loading loops into shared loadClusterPolicyByName
Add unit tests for config and utils_policy packages
Resolves PR #827 and #839 review comments
English | 中文
Dubbo-Go-Pixiu 是一个基于 Dubbo-go 打造的下一代 AI / API 网关,支持无缝连接 LLMs 和 MCPs,提供统一访问、智能扩展和高效的成本管理。同时,Pixiu 还可以将外部协议与内部 Dubbo 集群进行桥接,支持 HTTP、gRPC、Dubbo2 和 Triple 协议,实现高性能、可扩展的集成。
⭐ 新能力: Pixiu 已进化为一个 通用 AI 网关,旨在简化并统一访问 LLMs 和 AI 服务提供商 —— 无论是公有云供应商还是自托管模型。
⭐ 新能力: Pixiu 还进化为 Kubernetes Ingress Controller,通过声明式路由和 Pixiu 灵活的治理模型,实现在 Kubernetes 集群内原生管理 API 和 AI 流量。
👉 立即试用: 探索我们的官方 示例
Pixiu 已经发展成 通用 AI 网关,旨在简化并统一访问 LLMs 和 AI 服务提供商 —— 无论是来自公共供应商还是自建模型。
使用 Pixiu,您可以:
统一接入 AI 模型: 通过单一、一致的 API 网关层,轻松连接 OpenAI、Anthropic 或任何 自定义/本地 LLM 或 MCP 服务。
暴露 MCP 服务器: 通过 Pixiu,将现有的 HTTP API 和后端服务作为 MCP 服务器暴露,允许 AI 应用直接调用您的业务逻辑。
灵活扩展 AI 工作负载: 通过 Pixiu 的插件系统,应用认证、缓存、限流、重试策略、可观测性甚至模型编排等功能。
多租户与成本高效: 为大规模 AI 部署实施精细化的成本控制、审计和 Token 计费管理。
面向未来的架构: 设计用于混合的 API + AI 流量 —— 将传统的微服务架构与 AI 首先的时代连接起来。
✨ 现在也成为 Kubernetes Ingress Controller: Pixiu 的 AI 网关能力现在可以直接应用于集群入口层 —— 通过 Kubernetes API 声明式定义流量治理、路由和可观测性。
👉 立即试用: 探索我们的 AI 网关示例:LLM 和 MCP
⚡ 高性能: 基于 Go 构建,超低延迟和高吞吐量,优化大规模 API 流量和 LLM 工作负载。
🧩 高度可扩展: 强大的 插件和过滤器框架 使得扩展或自定义网关行为变得容易 —— 从路由、认证到可观测性和 AI 特定用例。
🎯 开发者友好: 简单配置、统一管理平面和清晰的可观测性,使 Pixiu 成为开发者和平台工程师的理想选择。
🌩️ 云原生设计: 在 Kubernetes 中无缝运行,支持声明式配置,轻松集成 Dubbo、Spring Cloud 或自定义后端。
🔗 无缝对接 Dubbo: 官方的 Sidecar 解决方案,连接非 Java 应用(Go、Python、Node.js 等)与 Dubbo 服务。
我们还提供了 Docker 镜像,方便快速部署。
1. 从源码构建 Docker 镜像
确保您在项目根目录下(包含 Dockerfile 文件),然后运行以下命令构建镜像:
Dockerfile
# 可以自定义镜像名称和标签,这里使用 dubbo-go-pixiu:local docker build -t dubbo-go-pixiu:local .
这可能需要几分钟时间来构建。一旦成功,您可以使用名为 dubbo-go-pixiu:local 的本地镜像。
dubbo-go-pixiu:local
2. 使用默认配置运行 Pixiu
使用刚才构建的本地镜像启动容器:
docker run --name pixiu-gateway -p 8888:8888 -d dubbo-go-pixiu:local
3. 使用自定义配置文件运行
如果您需要使用自定义配置文件,可以将本地文件挂载到容器的 /etc/pixiu/ 目录中。
/etc/pixiu/
# 确保使用您构建的本地镜像名称,例如 dubbo-go-pixiu:local docker run --name pixiu-gateway -p 8888:8888 -d \ -v /your/local/path/conf.yaml:/etc/pixiu/conf.yaml \ -v /your/local/path/log.yml:/etc/pixiu/log.yml \ dubbo-go-pixiu:local
通过 pixiu-admin 管理流量和路由。 可以通过 Docker Compose 快速启动:
pixiu-admin
docker-compose up -d
👉 访问管理员 UI:http://localhost:8080
我们欢迎任何形式的贡献! 无论是提交 Issue、提议新特性,还是贡献代码,你的参与对项目至关重要。
代码贡献流程: 如果您希望提交 Pull Request,请将 Pull Request 提交至 dubbo-go-pixiu/dubbo-go-pixiu 仓库。代码将经过自动化审查和项目维护者的人工复核,审核通过后自动同步至 Apache 官方仓库。
加入社区: 可通过钉钉、微信或 Discord 加入我们的讨论群组。
Discord: https://discord.gg/C5ywvytg
如果你喜欢 Dubbo-Go-Pixiu,请在 GitHub 上给我们点个 ⭐!
本项目采用 Apache License 2.0 开源许可。
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
Dubbo-Go-Pixiu: 下一代高性能 AI / API 网关
English | 中文
Dubbo-Go-Pixiu 是一个基于 Dubbo-go 打造的下一代 AI / API 网关,支持无缝连接 LLMs 和 MCPs,提供统一访问、智能扩展和高效的成本管理。同时,Pixiu 还可以将外部协议与内部 Dubbo 集群进行桥接,支持 HTTP、gRPC、Dubbo2 和 Triple 协议,实现高性能、可扩展的集成。
👉 立即试用: 探索我们的官方 示例
我们已经进化为 下一代 AI 网关
Pixiu 已经发展成 通用 AI 网关,旨在简化并统一访问 LLMs 和 AI 服务提供商 —— 无论是来自公共供应商还是自建模型。
使用 Pixiu,您可以:
统一接入 AI 模型: 通过单一、一致的 API 网关层,轻松连接 OpenAI、Anthropic 或任何 自定义/本地 LLM 或 MCP 服务。
暴露 MCP 服务器: 通过 Pixiu,将现有的 HTTP API 和后端服务作为 MCP 服务器暴露,允许 AI 应用直接调用您的业务逻辑。
灵活扩展 AI 工作负载: 通过 Pixiu 的插件系统,应用认证、缓存、限流、重试策略、可观测性甚至模型编排等功能。
多租户与成本高效: 为大规模 AI 部署实施精细化的成本控制、审计和 Token 计费管理。
面向未来的架构: 设计用于混合的 API + AI 流量 —— 将传统的微服务架构与 AI 首先的时代连接起来。
👉 立即试用: 探索我们的 AI 网关示例:LLM 和 MCP
为什么选择 Dubbo-Go-Pixiu?
⚡ 高性能: 基于 Go 构建,超低延迟和高吞吐量,优化大规模 API 流量和 LLM 工作负载。
🧩 高度可扩展: 强大的 插件和过滤器框架 使得扩展或自定义网关行为变得容易 —— 从路由、认证到可观测性和 AI 特定用例。
🎯 开发者友好: 简单配置、统一管理平面和清晰的可观测性,使 Pixiu 成为开发者和平台工程师的理想选择。
🌩️ 云原生设计: 在 Kubernetes 中无缝运行,支持声明式配置,轻松集成 Dubbo、Spring Cloud 或自定义后端。
🔗 无缝对接 Dubbo: 官方的 Sidecar 解决方案,连接非 Java 应用(Go、Python、Node.js 等)与 Dubbo 服务。
核心特性
使用 Docker 部署
我们还提供了 Docker 镜像,方便快速部署。
1. 从源码构建 Docker 镜像
确保您在项目根目录下(包含
Dockerfile文件),然后运行以下命令构建镜像:这可能需要几分钟时间来构建。一旦成功,您可以使用名为
dubbo-go-pixiu:local的本地镜像。2. 使用默认配置运行 Pixiu
使用刚才构建的本地镜像启动容器:
3. 使用自定义配置文件运行
如果您需要使用自定义配置文件,可以将本地文件挂载到容器的
/etc/pixiu/目录中。Pixiu Admin – 可视化控制平面
通过
pixiu-admin管理流量和路由。 可以通过 Docker Compose 快速启动:👉 访问管理员 UI:http://localhost:8080
Dubbo-Go-Pixiu 生态中的其他项目
社区与贡献
我们欢迎任何形式的贡献! 无论是提交 Issue、提议新特性,还是贡献代码,你的参与对项目至关重要。
代码贡献流程: 如果您希望提交 Pull Request,请将 Pull Request 提交至 dubbo-go-pixiu/dubbo-go-pixiu 仓库。代码将经过自动化审查和项目维护者的人工复核,审核通过后自动同步至 Apache 官方仓库。
加入社区: 可通过钉钉、微信或 Discord 加入我们的讨论群组。
Discord: https://discord.gg/C5ywvytg
如果你喜欢 Dubbo-Go-Pixiu,请在 GitHub 上给我们点个 ⭐!
许可证
本项目采用 Apache License 2.0 开源许可。