spring-cloud / spring-cloud/spring-cloud-commons

Proposal : Out of the box support for distributed locks

Open
#173 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

closable enhancement
Dominant language
Java
Stars
751
Forks
744
Avg merge
1d 14h
Merged PRs (30d)
9

Description

I'll admit this might not be the best place to open the discussion but I couldn't find anywhere else.

Once upon a time we had Spring Cloud Cluster supporting Lock Registry which was deprecated into Spring Integration. Tell me if I am wrong but even if I add dependencies from Spring Integration it doesn't feel to me that it just works out of the box with the COC so dear to the Spring Boot phylosophy. We need to do a couple of plumbing to have something working out.

Distributed Locks for internal batches or croned services is a recurrent topic in my opinion in a distributed system. I would like to contribute to a starter module inspired by your sample Lock Server Demo. We have a starter server for Eureka and the Config Server. Why not treating locks as a first class citizen among the problems eased by Spring Cloud with a starter server project and a starter client.

I'll work on my own embeddable server and client but it feels to me that such feature would make sense to be part of the project.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the sample Lock Server Demo and the Spring Integration Lock Registry mentioned in the issue, then compare them with the existing Eureka and Config Server starter projects. The issue does not name files, tests, or acceptance criteria; completion would require an agreed scope for starter server and client support.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring, spring-boot
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.