awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
go-redsync avatar

go-redsync/redsync

0
View on GitHub↗
4,026 نجوم·344 تفرعات·Go·BSD-3-Clause·1 مشاهدةredis.io/topics/distlock↗

Redsync

Redsync هو مدير أقفال موزع (Distributed Lock Manager) وامتداد لعميل Redis بلغة Go، مصمم لضمان الوصول الحصري إلى الموارد المشتركة. يقوم بتنفيذ آلية الاستبعاد المتبادل (Mutual Exclusion) عبر عمليات متعددة باستخدام Redis كخلفية لتنسيق المزامنة ومنع حالات التنافس (Race Conditions) في البيئات الموزعة.

تحافظ المكتبة على صلاحية القفل من خلال إجماع قائم على النصاب (Quorum-based consensus)، مما يتطلب عمليات كتابة ناجحة لأغلبية عقد Redis المستقلة. وتستخدم عمليات ذرية (Atomic operations) عبر سكربتات Lua للاستحواذ على الأقفال وتحريرها، مع توظيف التحقق من الملكية القائم على القيم وفترة صلاحية (TTL) لمنع حالات الجمود (Deadlocks).

يوفر المشروع إمكانيات للتنسيق الموزع ومزامنة التطبيقات، مع استخدام آلية إعادة المحاولة (Retry polling) من جانب العميل لإدارة مهلات الاستحواذ على الموارد.

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.

سجل النجوم

مخطط تاريخ النجوم لـ go-redsync/redsyncمخطط تاريخ النجوم لـ go-redsync/redsync

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Redsync

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Redsync.
  • redis/rueidisالصورة الرمزية لـ redis

    redis/rueidis

    2,899عرض على GitHub↗

    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
    عرض على GitHub↗2,899
  • redisson/redissonالصورة الرمزية لـ redisson

    redisson/redisson

    24,355عرض على GitHub↗

    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
    عرض على GitHub↗24,355
  • lukas-krecan/shedlockالصورة الرمزية لـ lukas-krecan

    lukas-krecan/ShedLock

    4,170عرض على GitHub↗

    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
    عرض على GitHub↗4,170
  • tporadowski/redisالصورة الرمزية لـ tporadowski

    tporadowski/redis

    9,987عرض على GitHub↗

    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
    عرض على GitHub↗9,987
عرض جميع البدائل الـ 30 لـ Redsync→

الأسئلة الشائعة

ما هي وظيفة go-redsync/redsync؟

Redsync هو مدير أقفال موزع (Distributed Lock Manager) وامتداد لعميل Redis بلغة Go، مصمم لضمان الوصول الحصري إلى الموارد المشتركة. يقوم بتنفيذ آلية الاستبعاد المتبادل (Mutual Exclusion) عبر عمليات متعددة باستخدام Redis كخلفية لتنسيق المزامنة ومنع حالات التنافس (Race Conditions) في البيئات الموزعة.

ما هي الميزات الرئيسية لـ go-redsync/redsync؟

الميزات الرئيسية لـ go-redsync/redsync هي: Distributed Locks, Distributed Exclusive Locking, Lua Scripting, Quorum Voting, Redis-Based Lock Storage, Lock Expiration Policies, Mutual Exclusion Locks, Distributed Task Coordination.

ما هي البدائل مفتوحة المصدر لـ go-redsync/redsync؟

تشمل البدائل مفتوحة المصدر لـ go-redsync/redsync: 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…