sync
sync copied to clipboard
Metaparticle/Sync: Cloud native synchronization libraries using Kubernetes for Java, Javascript and .NET (and more coming soon)
Metaparticle Sync libraries.
About the library
Metaparticle is a standard library for cloud native development using containers and Kubernetes.
The Metaparticle sync is a library within Metaparticle for synchronization across multiple containers running on different machines.
Synchronization Primitives
Currently the library supports two synchronization primitives:
- Locks, for mutual exclusion of code between different containers on different machines.
- Leader Election, for reliably selecting a single leader from a group of candidates, and failing over if that leader fails.
Components
Metaparticle sync is made up of two components:
- A re-usable container that can be deployed as a side-car to implement synchronization operators
- A collection of idiomatic client libraries that users can use in their applications to
implement synchronization. Currently languages supported include:
- javascript (Nodejs)
- python
- java
- C#/.NET Core
Examples
Examples for locking and leader election for each of the supported languages can be found in their respective directories.
- javascript
- python
- java
- C#/.NET Core
Details
More technical details can be found in the overview.
Contribute
There are many ways to contribute to Metaparticle
- Submit bugs and help us verify fixes as they are checked in.
- Review the source code changes.
- Engage with other Metaparticle users and developers on gitter.
- Join the #metaparticle discussion on Twitter.
- Contribute bug fixes.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.