Coordination service API in YDB Rust SDK
To leverage async Rust skills, I joined a semester project to implement a client and SDK API for the YDB Coordination service inside its Rust SDK.
The main challenge was to implement a Semaphore API. The distributed locking problem is hard in terms of guarantees and SDK ergonomics:
You can read the following articles:
I’ve implemented the API, which allowed implementing Leader election, Service discovery and Resource limiting using YDB and Rust.