apache/dubbo-go-pixiu

Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and gRPC[developing].

Go

565

1,660 commits

updated Oct 16, 2026

See the code

README

Pixiu Logo

Dubbo-Go-Pixiu: A Next-Generation, High-Performance AI / API Gateway

Build Status codecov go.dev reference Go Report Card license

English | 中文


Dubbo-Go-Pixiu is a next-generation AI / API Gateway built on Dubbo-go, empowering seamless connections to LLMs and MCPs with unified access, intelligent extensions, and cost-efficient management. At the same time, Pixiu bridges external protocols with internal Dubbo clusters, supporting HTTP, gRPC, Dubbo2, and Triple for high-performance, scalable integration.

⭐ New Capability: Pixiu has evolved into a universal AI Gateway, designed to simplify and unify access to LLMs and AI service providers — whether from public vendors or self-hosted models.

⭐ New Capability: Pixiu has also evolved into a Kubernetes Ingress Controller, enabling native management of API and AI traffic within Kubernetes clusters through declarative routing and Pixiu’s flexible governance model.

👉 Try it now: Explore our official samples

We've evolved into the Next-Generation AI Gateway

Pixiu has evolved into a universal AI Gateway, designed to simplify and unify access to LLMs and AI service providers — whether from public vendors or self-hosted models.

With Pixiu, you can:

  • Unified Access to AI Models: Connect effortlessly to OpenAI, Anthropic, or any custom / on-prem LLM or MCP service through a single, consistent API gateway layer.

  • MCP Server Exposure: Expose your existing HTTP APIs and backend services as MCP Servers through Pixiu, enabling AI applications to directly invoke your business logic.

  • Flexible Extension for AI Workloads: Apply authentication, caching, rate-limiting, retry policy, observability, or even model orchestration — all through Pixiu's plugin system.

  • Multi-Tenant & Cost-Efficient: Implement fine-grained cost control, auditing, and token accounting for large-scale AI deployments.

  • Future-Proof Architecture: Designed for the hybrid world of API + AI traffic — bridging traditional microservices with the AI-first era.

✨ Now also a Kubernetes Ingress Controller: Pixiu’s AI gateway abilities can now be applied directly at the cluster ingress layer — allowing traffic governance, routing, and observability to be defined declaratively via Kubernetes APIs.

👉 Try it now: Explore our AI Gateway Samples: LLM and MCP

Why Choose Dubbo-Go-Pixiu?

  • ⚡ High Performance: Built with Go for ultra-low latency and high throughput, Pixiu is optimized for large-scale API traffic and LLM workloads.

  • 🧩 Highly Extensible: A powerful plugin and filter framework makes it easy to extend or customize gateway behavior — from routing and authentication to observability and AI-specific use cases.

  • 🎯 Developer Friendly: Simple configuration, unified management plane, and clear observability make Pixiu ideal for both developers and platform engineers.

  • 🌩️ Cloud-Native by Design: Works seamlessly in Kubernetes, supports declarative configuration, and integrates easily with Dubbo, Spring Cloud, or custom backends.

  • 🔗 Seamless Dubbo Integration: The official sidecar solution for connecting non-Java applications (Go, Python, Node.js, etc.) to Dubbo services.

Core Features

CategoryDescription
🚀 Protocol ProcessingSupports proxying and translation between HTTP, gRPC, Dubbo2, and Triple protocols, delivering rich protocol gateway features.
🛡️ Security & AuthHTTPS, JWT, OAuth2, and other security mechanisms to safeguard your APIs and AI endpoints.
🔍 Service DiscoveryIntegrates with Zookeeper, Nacos, or any service registry to discover Dubbo and Spring Cloud services automatically.
⚖️ Traffic GovernanceIntegrates with Sentinel for fine-grained rate limiting, circuit breaking, and traffic shaping.
📈 ObservabilityOpenTelemetry and Jaeger support for full tracing, metrics, and logging visibility.
🎨 Visual ManagementThe Pixiu-admin UI offers real-time visual configuration for gateway rules and policies.

Deploying with Docker

We also provide Docker images for quick and easy deployment.

1. Build Docker Image from Source Code

Make sure you are in the root directory of the project (where the Dockerfile is located), then run the following command to build the image:

# You can customize the image name and tag, here we use dubbo-go-pixiu:local
docker build -t dubbo-go-pixiu:local .

It may take a few minutes to build. Once successful, you can use the local image named dubbo-go-pixiu:local.

2. Run Pixiu with Default Configuration

Start a container using the local image you just built:

docker run --name pixiu-gateway -p 8888:8888 -d dubbo-go-pixiu:local

3. Run with Custom Configuration File

If you need to use your own configuration file, you can mount a local file to the container's /etc/pixiu/ directory.

# make sure to use the local image name you built, i.e., 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 – Visual Control Plane

Manage traffic, routing via pixiu-admin. For a single-instance development deployment, start Docker Compose without a key:

docker compose up -d

When DUBBOGO_PIXIU_JWT_SIGN_KEY is empty, the admin generates a random key in memory for that process. It is never written to a file: restarting the backend invalidates its admin JWTs, and separate replicas cannot verify each other's tokens. For production or multiple replicas, configure the same unique random key of at least 32 bytes in every instance, for example through a secret manager. For Compose, you can put it in a private .env file (generate one with openssl rand -hex 32); do not commit that file. The former default dubbo-go-pixiu and short configured keys are rejected.

👉 Access admin UI at: http://localhost:8080

pixiu-admin.png

Other Projects in the Dubbo-Go-Pixiu Ecosystem

  • dubbo-go-pixiu-samples — Official sample repository demonstrating various use cases
  • pixiu-admin — Visual management plane for configuration & monitoring
  • pixiu-api — API / model definitions for Pixiu Admin
  • benchmark — Benchmarking suite for pixiu

Community & Contribution

We warmly welcome all forms of contributions! Whether it's submitting an issue, proposing a new feature, or contributing code, your participation is vital to the project.

If you like Dubbo-Go-Pixiu, please ⭐ star us on GitHub!

License

This project is licensed under the Apache License, Version 2.0.

api-gateway
api-rest
cloud-native
cloudnative
dubbo
dubbo-cluster
dubbo-go
dubbogo
gateway
gateways
grpc
grpc-go
http-proxies
kafka
microservice
microservices
protocols
proxy
rocketmq
upstream-services

apache/dubbo-go-pixiu

Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and gRPC[developing].

Go

565

1,660 commits

updated Oct 16, 2026

See the code

README

Pixiu Logo

Dubbo-Go-Pixiu: A Next-Generation, High-Performance AI / API Gateway

Build Status codecov go.dev reference Go Report Card license

English | 中文


Dubbo-Go-Pixiu is a next-generation AI / API Gateway built on Dubbo-go, empowering seamless connections to LLMs and MCPs with unified access, intelligent extensions, and cost-efficient management. At the same time, Pixiu bridges external protocols with internal Dubbo clusters, supporting HTTP, gRPC, Dubbo2, and Triple for high-performance, scalable integration.

⭐ New Capability: Pixiu has evolved into a universal AI Gateway, designed to simplify and unify access to LLMs and AI service providers — whether from public vendors or self-hosted models.

⭐ New Capability: Pixiu has also evolved into a Kubernetes Ingress Controller, enabling native management of API and AI traffic within Kubernetes clusters through declarative routing and Pixiu’s flexible governance model.

👉 Try it now: Explore our official samples

We've evolved into the Next-Generation AI Gateway

Pixiu has evolved into a universal AI Gateway, designed to simplify and unify access to LLMs and AI service providers — whether from public vendors or self-hosted models.

With Pixiu, you can:

  • Unified Access to AI Models: Connect effortlessly to OpenAI, Anthropic, or any custom / on-prem LLM or MCP service through a single, consistent API gateway layer.

  • MCP Server Exposure: Expose your existing HTTP APIs and backend services as MCP Servers through Pixiu, enabling AI applications to directly invoke your business logic.

  • Flexible Extension for AI Workloads: Apply authentication, caching, rate-limiting, retry policy, observability, or even model orchestration — all through Pixiu's plugin system.

  • Multi-Tenant & Cost-Efficient: Implement fine-grained cost control, auditing, and token accounting for large-scale AI deployments.

  • Future-Proof Architecture: Designed for the hybrid world of API + AI traffic — bridging traditional microservices with the AI-first era.

✨ Now also a Kubernetes Ingress Controller: Pixiu’s AI gateway abilities can now be applied directly at the cluster ingress layer — allowing traffic governance, routing, and observability to be defined declaratively via Kubernetes APIs.

👉 Try it now: Explore our AI Gateway Samples: LLM and MCP

Why Choose Dubbo-Go-Pixiu?

  • ⚡ High Performance: Built with Go for ultra-low latency and high throughput, Pixiu is optimized for large-scale API traffic and LLM workloads.

  • 🧩 Highly Extensible: A powerful plugin and filter framework makes it easy to extend or customize gateway behavior — from routing and authentication to observability and AI-specific use cases.

  • 🎯 Developer Friendly: Simple configuration, unified management plane, and clear observability make Pixiu ideal for both developers and platform engineers.

  • 🌩️ Cloud-Native by Design: Works seamlessly in Kubernetes, supports declarative configuration, and integrates easily with Dubbo, Spring Cloud, or custom backends.

  • 🔗 Seamless Dubbo Integration: The official sidecar solution for connecting non-Java applications (Go, Python, Node.js, etc.) to Dubbo services.

Core Features

CategoryDescription
🚀 Protocol ProcessingSupports proxying and translation between HTTP, gRPC, Dubbo2, and Triple protocols, delivering rich protocol gateway features.
🛡️ Security & AuthHTTPS, JWT, OAuth2, and other security mechanisms to safeguard your APIs and AI endpoints.
🔍 Service DiscoveryIntegrates with Zookeeper, Nacos, or any service registry to discover Dubbo and Spring Cloud services automatically.
⚖️ Traffic GovernanceIntegrates with Sentinel for fine-grained rate limiting, circuit breaking, and traffic shaping.
📈 ObservabilityOpenTelemetry and Jaeger support for full tracing, metrics, and logging visibility.
🎨 Visual ManagementThe Pixiu-admin UI offers real-time visual configuration for gateway rules and policies.

Deploying with Docker

We also provide Docker images for quick and easy deployment.

1. Build Docker Image from Source Code

Make sure you are in the root directory of the project (where the Dockerfile is located), then run the following command to build the image:

# You can customize the image name and tag, here we use dubbo-go-pixiu:local
docker build -t dubbo-go-pixiu:local .

It may take a few minutes to build. Once successful, you can use the local image named dubbo-go-pixiu:local.

2. Run Pixiu with Default Configuration

Start a container using the local image you just built:

docker run --name pixiu-gateway -p 8888:8888 -d dubbo-go-pixiu:local

3. Run with Custom Configuration File

If you need to use your own configuration file, you can mount a local file to the container's /etc/pixiu/ directory.

# make sure to use the local image name you built, i.e., 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 – Visual Control Plane

Manage traffic, routing via pixiu-admin. For a single-instance development deployment, start Docker Compose without a key:

docker compose up -d

When DUBBOGO_PIXIU_JWT_SIGN_KEY is empty, the admin generates a random key in memory for that process. It is never written to a file: restarting the backend invalidates its admin JWTs, and separate replicas cannot verify each other's tokens. For production or multiple replicas, configure the same unique random key of at least 32 bytes in every instance, for example through a secret manager. For Compose, you can put it in a private .env file (generate one with openssl rand -hex 32); do not commit that file. The former default dubbo-go-pixiu and short configured keys are rejected.

👉 Access admin UI at: http://localhost:8080

pixiu-admin.png

Other Projects in the Dubbo-Go-Pixiu Ecosystem

  • dubbo-go-pixiu-samples — Official sample repository demonstrating various use cases
  • pixiu-admin — Visual management plane for configuration & monitoring
  • pixiu-api — API / model definitions for Pixiu Admin
  • benchmark — Benchmarking suite for pixiu

Community & Contribution

We warmly welcome all forms of contributions! Whether it's submitting an issue, proposing a new feature, or contributing code, your participation is vital to the project.

If you like Dubbo-Go-Pixiu, please ⭐ star us on GitHub!

License

This project is licensed under the Apache License, Version 2.0.

api-gateway
api-rest
cloud-native
cloudnative
dubbo
dubbo-cluster
dubbo-go
dubbogo
gateway
gateways
grpc
grpc-go
http-proxies
kafka
microservice
microservices
protocols
proxy
rocketmq
upstream-services

Project health

Overall

6.1/10

Maintained

10/10

Code review

9/10
OpenSSF Scorecard

Latest release

v1.1.0 · Dec 28, 2025

Releases this year

1

Significant stargazers

Ken Liu

801 followers · starred Jul 2023

Jermaine Hua

168 followers · starred Aug 2022

Huxing Zhang

677 followers · starred Apr 2021

totalo

53 followers · starred Dec 2021