Zilla – An Open-Source API Gateway for Event-Streaming
GitHub - aklivity/zilla: 🦎 A multi-protocol edge & service proxy. Seamlessly interface web apps, IoT clients, & microservices to Apache Kafka® via declaratively defined, stateless APIs.








  Docs •
  Quickstart •
  Demos •
  Blog  

🦎 Zilla: a multi-protocol edge & service proxy
Zilla helps develop and manage event-driven applications and services. It is a lightweight yet feature-rich proxy with first-class support for HTTP, SSE, gRPC, MQTT, and Kafka protocols.
Use Zilla as a:

Service sidecar — deployed alongside a service to enforce authentication, validate schemas, gather metrics, and terminate TLS.
Kafka API gateway — fronting Apache Kafka, enabling web apps, IoT clients, and non-Kafka microservices to directly consume and produce data streams via their own native protocols.

Build real-time applications, integrate services, streamline architectures



Zilla Use Case
Description




Data broadcasting (Kafka fan-out) →
Broadcast real-time updates to end users at web-scale. Power live data feeds such as stock tickers, betting odds, travel updates, and auction prices.


IoT Kafka ingestion →
Ingest and process IoT data in real-time by turning Kafka into a fully-fledged MQTT broker.


Async workflows for sync microservices →
Make request-response microservice communication asynchronous by routing it over a pair of Kafka topics.


Create an event-mesh →
Integrate mesh and event-driven microservices by routing connectivity through Kafka. Make Kafka look like a gRPC/REST server or gRPC client.


Secure a Server Sent Event (SSE) API →
Secure an SSE API by adding JWT-based Continous Authorization.


Validate MQTT via AsyncAPI →
Enforce an AsyncAPI schema for messages going into an MQTT broker.


Much more!
Check out all the Zilla Demos and Zilla Examples.



Get started in 60 seconds
Zilla is stateless, declaratively configured, and has no external dependencies. The fastest way to get started is to follow the hosted Quickstart.
Install options
Single-node and cluster deployment options are available.
Homebrew
brew tap aklivity/tap 
brew install zilla

zilla start -ve -c ./zilla.yaml

Docker
docker pull ghcr.io/aklivity/zilla

docker run ghcr.io/aklivity/zilla:latest start -v

Helm
helm install zilla oci://ghcr.io/aklivity/charts/zilla --namespace zilla --create-namespace --wait \
--values values.yaml \
--set-file zilla\\.yaml=zilla.yaml

Key integrations

 Support for OpenAPI and AsyncAPI specifications for configuration and/or validation enforcement.
 Integrations with external schema registries, such as Apicurio and Karapace, for a variety of data formats, including JSON, avro, and protobuf.
 Support for authorization via JWT, including continous authorization for SSE.
 Integrations with standard observability tools, including Prometheus and OpenTelemetry, for logging and metrics.

 Resources
📚 Read the docs

Zilla Documentation: Guides, tutorials and references to help understand how to use Zilla and configure it for your use case.
Product Roadmap: Check out our plan for upcoming releases.
Zilla Examples: A collection of pre-canned Zilla feature demos.
Eventful Petstore Demo: See Zilla make the OpenAPI/Swagger Petstore service event-driven by mapping it onto Kafka in just a few lines of YAML.
Taxi Demo: A demo of a taxi-based IoT deployment with Zilla, Kafka, OpenAPIs and AsyncAPIs.

📝 Check out blog posts

Bring your own REST APIs for Apache Kafka: Zilla enables application-specific REST APIs. See how it's not just another Kafka-REST proxy.
Modern Eventing with CQRS, Redpanda and Zilla: Learn about the event-driven nature of CQRS, common challenges while implementing it, and how Zilla solves them with Redpanda.
End-to-end Streaming Between gRPC Services via Kafka: Learn how to integrate gRPC with Kafka event streaming; securely, reliably and scalably.
Zilla Hails a Taxi: IoT telemetry at scale? MQTT, Zilla, and Kafka can make it happen.

 ❓ Get support

Community Slack: Join technical discussions, ask questions, and meet other users!
GitHub Issues: Report bugs or issues with Zilla.
Contact Us: Submit non-techinal questions and inquiries.

 🌱 Community
Looking to contribute to Zilla? Check out the Contributing to Zilla guide.
✨We value all contributions, whether source code, documentation, bug reports, feature requests or feedback!
Many Thanks To Our Contributors!

  

 License
Zilla is made available under the Aklivity Community License. This is an open source-derived license that gives you the freedom to deploy, modify and run Zilla as you see fit, as long as you are not turning into a standalone commercialized “Zilla-as-a-service” offering. Running Zilla in the cloud for your own workloads, production or not, is completely fine.

(🔼 Back to top)
