awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
go-redsync avatar

go-redsync/redsync

0
View on GitHub↗
4,026 Stars·344 Forks·Go·BSD-3-Clause·1 Aufrufredis.io/topics/distlock↗

Redsync

Redsync ist ein verteilter Lock-Manager und eine Go-Redis-Client-Erweiterung, die für den exklusiven Zugriff auf gemeinsam genutzte Ressourcen entwickelt wurde. Sie implementiert gegenseitigen Ausschluss (Mutual Exclusion) über mehrere Prozesse hinweg, indem sie ein Redis-Backend zur Koordinierung der Synchronisation nutzt und Race Conditions in verteilten Umgebungen verhindert.

Die Bibliothek stellt die Gültigkeit von Locks durch einen quorum-basierten Konsens sicher, der erfolgreiche Schreibvorgänge auf einer Mehrheit unabhängiger Redis-Knoten erfordert. Sie verwendet Lua-skriptbasierte atomare Operationen für das Sperren und Freigeben, während sie wertbasierte Eigentumsvalidierung und Time-to-Live-Ablaufzeiten einsetzt, um Deadlocks zu vermeiden.

Das Projekt bietet Funktionen für verteilte Koordinierung und Anwendungssynchronisation und nutzt clientseitiges Retry-Polling, um Timeouts bei der Ressourcenbeschaffung zu verwalten.

Features

  • Distributed Locks - Provides a mechanism for coordinating exclusive access to shared resources across distributed processes using Redis.
  • Distributed Exclusive Locking - Prevents multiple processes from accessing a shared resource simultaneously using a remote key-value store to manage exclusive locks.
  • Lua Scripting - Uses Lua scripting to execute lock acquisition and release as atomic operations on the Redis server.
  • Quorum Voting - Ensures lock validity by requiring a majority of independent Redis nodes to approve the acquisition via quorum voting.
  • Redis-Based Lock Storage - Utilizes a remote Redis key-value store to track lock states and expiration timestamps across distributed processes.
  • Lock Expiration Policies - Prevents deadlocks by associating a time-to-live value with every lock to ensure automatic expiration if the owner fails.
  • Mutual Exclusion Locks - Ensures mutual exclusion so that only one process across a cluster executes a specific piece of logic at a time.
  • Distributed Task Coordination - Uses Redis to synchronize tasks and state between decoupled components to prevent resource exhaustion and race conditions.
  • Lock Ownership Validation - Associates a unique identifier with each lock to ensure that only the original owner can release the resource.
  • Go Distributed Synchronization - Manages concurrent access to shared data across multiple Go service instances to prevent race conditions.
  • Lock Acquisition Retries - Implements a client-side retry loop to manage resource acquisition timeouts when attempting to obtain a distributed lock.
  • Database Tools - Distributed locks based on Redis.

Star-Verlauf

Star-Verlauf für go-redsync/redsyncStar-Verlauf für go-redsync/redsync

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht go-redsync/redsync?

Redsync ist ein verteilter Lock-Manager und eine Go-Redis-Client-Erweiterung, die für den exklusiven Zugriff auf gemeinsam genutzte Ressourcen entwickelt wurde. Sie implementiert gegenseitigen Ausschluss (Mutual Exclusion) über mehrere Prozesse hinweg, indem sie ein Redis-Backend zur Koordinierung der Synchronisation nutzt und Race Conditions in verteilten Umgebungen verhindert.

Was sind die Hauptfunktionen von go-redsync/redsync?

Die Hauptfunktionen von go-redsync/redsync sind: Distributed Locks, Distributed Exclusive Locking, Lua Scripting, Quorum Voting, Redis-Based Lock Storage, Lock Expiration Policies, Mutual Exclusion Locks, Distributed Task Coordination.

Welche Open-Source-Alternativen gibt es zu go-redsync/redsync?

Open-Source-Alternativen zu go-redsync/redsync sind unter anderem: redis/rueidis — Rueidis is a high-performance Redis client library for Go that provides a type-safe and asynchronous interface for… redisson/redisson — Redisson is a Java library and Redis client that functions as a distributed Java object mapper, caching provider, and… lukas-krecan/shedlock — ShedLock is a distributed lock manager designed to prevent scheduled tasks from running concurrently across multiple… tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… bogdanp/dramatiq — Dramatiq is a distributed task queue and workload manager used to offload function execution to background workers. It… taskforcesh/bullmq — BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It…

Open-Source-Alternativen zu Redsync

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Redsync.
  • redis/rueidisAvatar von redis

    redis/rueidis

    2,899Auf GitHub ansehen↗

    Rueidis is a high-performance Redis client library for Go that provides a type-safe and asynchronous interface for interacting with Redis servers. It includes a full implementation of the Redis serialization protocol and a dedicated connection manager to handle pooling, multiplexing, and automatic pipelining. The library is distinguished by its support for RDMA connectivity to reduce latency and CPU overhead. It features a distributed lock manager that implements majority-based locking and optimistic concurrency control, as well as client-side caching with invalidation signals to minimize net

    Gocacheclient-side-cachingdistributed
    Auf GitHub ansehen↗2,899
  • redisson/redissonAvatar von redisson

    redisson/redisson

    24,355Auf GitHub ansehen↗

    Redisson is a Java library and Redis client that functions as a distributed Java object mapper, caching provider, and locking framework. It maps Java collections and concurrency primitives to distributed implementations backed by Redis and Valkey, providing synchronous, asynchronous, and reactive APIs for interacting with these data stores. The project distinguishes itself by providing a comprehensive suite of distributed coordination tools, including a locking framework for managing semaphores and countdown latches across multiple application nodes. It also serves as a distributed messaging

    Java
    Auf GitHub ansehen↗24,355
  • lukas-krecan/shedlockAvatar von lukas-krecan

    lukas-krecan/ShedLock

    4,170Auf GitHub ansehen↗

    ShedLock is a distributed lock manager designed to prevent scheduled tasks from running concurrently across multiple nodes in a distributed system. It acts as a task coordinator that ensures a single execution of timed jobs by managing lock lifespans and utilizing external lock providers. The system utilizes database-backed providers to store task execution states in external databases, synchronizing locks across active cluster nodes. It includes a clock-drift tolerant synchronizer that handles time discrepancies between distributed nodes through the use of shared timestamps and flexible lock

    Java
    Auf GitHub ansehen↗4,170
  • tporadowski/redisAvatar von tporadowski

    tporadowski/redis

    9,987Auf GitHub ansehen↗

    Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations

    Credisredis-for-windowsredis-msi-installer
    Auf GitHub ansehen↗9,987
  • Alle 30 Alternativen zu Redsync anzeigen→