madelson / DistributedLock

A .NET library for distributed synchronization
MIT License
1.75k stars 182 forks source link

Apache Ignite #129

Open bitchkat opened 2 years ago

bitchkat commented 2 years ago

I'm interested in developing a plugin for Apache Ignite in memory data grid. I'm wondering if there is any documentation on developing a backend? Ignite has a lock (really just a mutex) that we can build from and has event listeners we can use to monitor cache entries. So even though it provides an SQL view of the caches, we shouldn't need to write any sql polling code.

madelson commented 2 years ago

Hi @bitchkat just to clarify are you interested in contributing an open source implementation to this repository based on Apache Ignite? If so, I'd be happy to guide you through the process and what would need to be done.

bitchkat commented 2 years ago

That is absolutely what I'm interested in.

madelson commented 2 years ago

@bitchkat that's great! I'd really appreciate having the contribution. Here's how I would recommend proceeding.

First off, I think it would be worth discussing the high level algorithm approach on this thread. For example:

Having alignment on these kinds of questions early should help things go smoothly.

Next, we can get started writing code. In your DistributedLock repo fork:

Please ask me questions about anything you run into; I'd love for this thread to result in a robust guide for adding new lock implementations.

After that, we'd want to hook the new provider into the test project; that's a few steps ahead though; I can write those up when things are further along.