Atomix isn't just a simple key-value store. The runtime API supports common data structures that can be used by applications to store and share state. Lists, maps, sets, and purpose-built data structures are provided to enable a variety of use cases.
Primitives for solving common distributed systems problems like leader election, distributed locking, scheduling, and more. Atomix distributed coordination primitives enable developers to implement distributed systems solutions without distributed systems expertise.
The Atomix runtime is built on gRPC, enabling SDKs in a variety of different languages. Applications can be written in your language of choice, and containers or services can share state across languages.
The Atomix runtime provides a unified API across numerous databases and protocols, decoupling application code from data stores to enable applications to be developed independent of the underlying architecture.
Atomix provides both custom distributed systems protocols and database proxies. Data storage is driven by configuration, so Atomix-enabled applications can choose their own data stores and even swap between data stores without changing a single line of code.
Atomix is built from the ground up for Kubernetes. Data stores and applications are managed via custom resources, providing seamless integration with Kubernetes tools like kubectl and Helm.
We're seeking contributors for new primitives, SDKs, and data stores. Do you know a language Atomix doesn't support yet? Is there a database you want to integrate with Atomix? Do you have a use case for a new type of primitive? Visit the contributor guide to get started!
Together, we can make distributed systems accessible for everyone!