- Notifications
You must be signed in to change notification settings - Fork57
🦎 A multi-protocol edge & service proxy. Seamlessly interface web apps, IoT clients, & microservices to Apache Kafka® via declaratively defined, stateless APIs.
License
Unknown and 2 other licenses found
Licenses found
aklivity/zilla
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Docs •Quickstart •Demos •Blog
Zilla helps develop and manage event-driven applications and services. It is a lightweight yet feature-rich proxy with first-class support forHTTP
,SSE
,gRPC
,MQTT
, andKafka
protocols.
UseZilla 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.
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 theZilla Demos andZilla Examples. |
Zilla is stateless, declaratively configured, and has no external dependencies. The fastest way to get started is to follow the hostedQuickstart.
Single-node and cluster deployment options are available.
Homebrew
brew tap aklivity/tap brew install zillazilla start -ve -c ./zilla.yaml
Docker
docker pull ghcr.io/aklivity/zilladocker 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
- Support forOpenAPI andAsyncAPI specifications for configuration and/or validation enforcement.
- Integrations with external schema registries, such asApicurio andKarapace, for a variety of data formats, including
JSON
,avro
, andprotobuf
. - Support for authorization via
JWT
, includingcontinous authorization forSSE
. - Integrations with standard observability tools, includingPrometheus andOpenTelemetry, for logging and metrics.
- 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.
- 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.
- 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.
Looking to contribute to Zilla? Check out theContributing to Zilla guide.✨We value all contributions, whether source code, documentation, bug reports, feature requests or feedback!
Zilla is made available under theAklivity 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.
About
🦎 A multi-protocol edge & service proxy. Seamlessly interface web apps, IoT clients, & microservices to Apache Kafka® via declaratively defined, stateless APIs.