Zillabase is a Firebase alternative re-imagined for real-time data and asynchronous workloads. It combines a stack of streaming-native open-source tools to automatically generate an event-driven backend, complete with real-time data models, user functions, security, and APIs (both RESTFul and Async ones).
Event-driven architectures and real-time data streaming can be daunting, especially for application developers. Zillabase brings a Firebase-like experience to event-driven development by abstracting away complexity through SQL
and automatically generated AsyncAPIs
.
The high-level Zillabase user-flow is:
-
Define your data model with
SQL
-
Zillabase automatically generates
REST
andSSE
(Server Sent Events) APIs -
Add business logic via user-defined Java or Python
functions
-
Add authentication via
OAuth 2.0
andJWTs
While Zillabase relies on SQL
for data modeling, there is no actual SQL
database present in the stack. Instead, Zillabase maintains materialized views and tables in Apache Kafka
. From the outside, Zillabase looks and behaves like a Postgres
database, under the covers though, all data is persisted as streams across Kafka topics. This makes Zillabase asynchronous, highly responsive, and ready for real-time data processing.
Zillabase is a combination of open-source tools and runs via docker compose.
-
Zilla is a multi-protocol edge and service proxy that turns Kafka streams into APIs
-
Apache Kafka is a data streaming system used for data persistence and integration
-
RisingWave is a SQL-based stream processing engine used to configure Apache Kafka and execute functions
-
Keycloak is used for identity and access management
-
Apicurio is an API registry used for storing generated Zillabase AsyncAPIs
-
Karapace is a schema registry used for storing Kafka schemas
brew tap aklivity/tap
brew install zillabase
# list all zillabase commands
zillabase
# launch zillabase
zillabase start
# teardown zillabase
zillabase stop
Zillabase documentation is in the works. In the meantime, the examples
directory includes two sample Zillabase applications that can be used as scaffolding for your first application.
-
StreamPayAI: A Venmo-like payment application with real-time AI-powered fraud detection
-
PetStore: The quintessential OpenAPI/Swagger Petstore demo, but fully event-driven
Star the repo and watch "releases" to get notified of major updates. Engage in technical discussions, ask questions, and meet other users in the Aklivity Slack Community.