Skip to content

AliNazariii/lucky

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lucky - A Distributed Lock Implementation in Golang

Introduction

Lucky is a Golang implementation of a distributed lock, which is used in distributed systems to ensure that only one process can access a critical section at a time. The critical section is the code that needs to be executed by only one process at a time.

Goal

Distributed locking is a common problem in distributed systems, and there are many solutions and algorithms to handle it. Most of them use third-party tools such as ZooKeeper, Redis, etc. However, the goal of Lucky is to provide a lightweight and simple library that solves this problem without any external dependencies.

Resources

Resources that were referred to during the development of Lucky include:

Roadmap

The current roadmap for Lucky includes:

  • Implementing a module using the RedLock algorithm and Redis as a backend
  • Implementing a module using ZooKeeper as a backend
  • Implementing a module using etcd as a backend
  • Implementing a module using MySQL as a backend
  • Implementing a module using PostgreSQL as a backend
  • Implementing a module using MongoDB as a backend
  • Implementing a module using a simple file as a backend
  • Implementing a module using simple in-memory storage as a backend

Contributing

Contributions to Lucky are always welcome! Please feel free to open issues or submit pull requests to help improve the project.

License

Lucky is licensed under the MIT License.

About

A Distributed Lock Implementation in Golang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages