awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

23 dépôts

Awesome GitHub RepositoriesDistributed Lock Coordination

Coordination of scheduled tasks across a cluster to ensure exactly-once execution using shared locks.

Distinct from Distributed Leader Election: Distinct from Distributed Leader Election as it can manage locks for individual jobs rather than just a single primary node.

Explore 23 awesome GitHub repositories matching devops & infrastructure · Distributed Lock Coordination. Refine with filters or upvote what's useful.

Awesome Distributed Lock Coordination GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • pandownloadserver/serverAvatar de PanDownloadServer

    PanDownloadServer/Server

    8,163Voir sur GitHub↗

    This project is a remote file transfer server and asynchronous download orchestrator. It functions as a backend service that manages a queue of remote file transfer requests to coordinate the download of files from the web to a remote storage destination. The system operates as a distributed download coordinator, scheduling and tracking the progress of file transfers across different network nodes. It routes data requests from a client to a remote file system and utilizes asynchronous task execution to process heavy file operations in the background. The server includes capabilities for queu

    Coordinates distributed download tasks across network nodes to optimize file acquisition.

    HTML
    Voir sur GitHub↗8,163
  • thinkgem/jeesiteAvatar de thinkgem

    thinkgem/jeesite

    8,044Voir sur GitHub↗

    Jeesite is a full-stack low-code development framework designed for building enterprise administrative portals using Spring Boot, MyBatis, and Vue. It functions as a comprehensive platform for creating administrative dashboards with integrated role-based access control and organizational data permission systems. The framework distinguishes itself through a combination of automated CRUD code generation and an integrated RAG platform that connects large language models to enterprise data via vector stores. It further incorporates a BPMN-based workflow engine to automate complex business process

    Coordinates task triggers across cluster instances to prevent duplicate executions and ensure resource isolation.

    Vue
    Voir sur GitHub↗8,044
  • firerpa/lamdaAvatar de firerpa

    firerpa/lamda

    7,834Voir sur GitHub↗

    This project is an Android RPA framework designed for automating user interfaces and system tasks on rooted Android devices using Python and ADB. It provides a suite of tools for rooted device management, allowing for programmatic control of system settings, application lifecycles, and shell command execution via a remote API. The framework distinguishes itself through a combination of dynamic instrumentation and AI integration. It can inject scripts into running processes to hook Java interfaces and modifies application behavior in real time. Additionally, it supports large language model in

    Coordinates task execution across multiple Android devices using a distributed task system and P2P bridge.

    Pythonadbagentsai
    Voir sur GitHub↗7,834
  • go-co-op/gocronAvatar de go-co-op

    go-co-op/gocron

    7,071Voir sur GitHub↗

    gocron is a task scheduling library for Go designed to automate recurring tasks using crontab expressions, fixed durations, and specific calendar dates. It functions as a concurrent job manager and execution monitor that tracks task lifecycles and performance. The project provides distributed task scheduling through leader election and distributed locking to prevent duplicate job execution across multiple nodes. It further distinguishes itself with a concurrency management system that implements singleton constraints and global execution quotas to protect system resources. The scheduler cove

    Prevents duplicate execution across multiple nodes using leader election and distributed locking.

    Go
    Voir sur GitHub↗7,071
  • quartz-scheduler/quartzAvatar de quartz-scheduler

    quartz-scheduler/quartz

    6,732Voir sur GitHub↗

    Quartz is a Java job scheduling framework and task execution engine designed to manage and execute scheduled tasks within application environments. It functions as an enterprise job scheduler that persists job state and execution history to maintain reliability across system restarts. The system distinguishes itself through a decoupled architecture that separates the definition of a job's action from the trigger logic that determines when it runs. It supports distributed task coordination across multiple server nodes to provide high availability and load balancing. The framework covers a bro

    Coordinates job triggering across multiple server nodes to provide high availability and load balancing.

    Java
    Voir sur GitHub↗6,732
  • hazelcast/hazelcastAvatar de hazelcast

    hazelcast/hazelcast

    6,570Voir sur GitHub↗

    Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis

    Provides synchronization primitives like locks and semaphores to manage concurrent access across nodes.

    Javabig-datacachingdata-in-motion
    Voir sur GitHub↗6,570
  • caddyserver/certmagicAvatar de caddyserver

    caddyserver/certmagic

    5,568Voir sur GitHub↗

    Certmagic est une bibliothèque Go pour automatiser l'émission et le renouvellement de certificats TLS. Il fonctionne comme un provisionneur HTTPS automatique et un client ACME qui gère le cycle de vie complet des certificats pour garantir une connectivité sécurisée sans intervention manuelle. La bibliothèque se distingue par sa prise en charge du provisionnement TLS à la demande, qui génère des certificats dynamiquement pendant la poignée de main TLS en fonction du nom du serveur. Elle fournit également une automatisation pour les certificats wildcard via la vérification de défi DNS et s'intègre à l'API ZeroSSL pour l'acquisition de certificats. Le projet couvre un large éventail de capacités, notamment la résolution de défis ACME, la planification du renouvellement automatisé et la révocation de certificats. Il gère la persistance des données via des backends de stockage enfichables et implémente le verrouillage et la synchronisation distribués pour coordonner la gestion des certificats à travers les clusters de serveurs. La fonctionnalité supplémentaire inclut l'agrafage OCSP, la mise en cache en mémoire et la génération de configurations TLS pour des serveurs personnalisés.

    Synchronizes operations across a cluster using shared locks to prevent duplicate work during certificate issuance.

    Goacmeautomatic-httpsgo
    Voir sur GitHub↗5,568
  • superalgos/superalgosAvatar de Superalgos

    Superalgos/Superalgos

    5,536Voir sur GitHub↗

    Superalgos est une plateforme de trading algorithmique de cryptomonnaies utilisée pour concevoir, backtester et déployer des bots de trading automatisés. Elle se concentre sur un concepteur de stratégie visuel qui permet aux utilisateurs de créer des indicateurs et une logique de trading via une interface graphique au lieu d'écrire du code manuellement. La plateforme dispose d'un réseau de signaux token-gated qui permet un marché décentralisé pour diffuser et monétiser l'intelligence de trading. L'accès à ces signaux et prédictions est géré via des jetons numériques et des scores de réputation, tandis qu'une infrastructure de trading distribuée permet aux utilisateurs de coordonner le minage de données et l'exécution à haut volume à travers un réseau de multiples serveurs. Le système couvre un large éventail de capacités, incluant des moteurs de backtesting historique, le minage automatisé de données de marché et l'exécution de trades en direct. Il incorpore le machine learning pour la reconnaissance de modèles et fournit des outils de débogage visuels pour tracer l'état d'exécution interne des bots actifs. L'infrastructure prend en charge les déploiements auto-hébergés, permettant aux utilisateurs d'exécuter l'environnement sur site local pour garder le contrôle sur les fonds, les clés et les stratégies.

    Coordinates data mining and trading execution tasks across a network of multiple machines to scale workloads.

    JavaScriptalgorithmic-tradingalgotradingbitcoin-trading
    Voir sur GitHub↗5,536
  • lingochamp/okdownloadAvatar de lingochamp

    lingochamp/okdownload

    5,248Voir sur GitHub↗

    Okdownload est un moteur de téléchargement HTTP multithread et une bibliothèque de transfert conçue pour le téléchargement concurrent de fichiers. Il fonctionne comme un téléchargeur de fichiers reprenable qui divise les fichiers uniques en plusieurs blocs pour un traitement simultané afin d'augmenter le débit réseau et les vitesses de transfert. Le système se distingue par un framework d'injection de composants basé sur un builder et un modèle de stratégie qui permet des moteurs de téléchargement personnalisés. Les développeurs peuvent remplacer les modules de stockage et de connexion par défaut ou surcharger la logique utilisée pour le découpage en blocs et la génération de noms de fichiers. La bibliothèque fournit une orchestration complète des files d'attente, incluant la planification des tâches basée sur la priorité et la gestion globale de la concurrence pour réguler le trafic réseau. La fiabilité est gérée par le suivi des points de rupture pour la reprise des téléchargements interrompus, la pré-allocation de disque et la validation de l'intégrité du contenu. Les capacités de surveillance incluent le calcul de la vitesse de transfert en temps réel et un système d'événements multi-écouteurs pour suivre la progression.

    Provides a coordination layer to start, cancel, and track the operational states of download tasks.

    Javafastfiledownloaderflexible
    Voir sur GitHub↗5,248
  • bogdanp/dramatiqAvatar de Bogdanp

    Bogdanp/dramatiq

    5,136Voir sur GitHub↗

    Dramatiq is a distributed task queue and workload manager used to offload function execution to background workers. It functions as an asynchronous task orchestrator that enables the distribution of computational tasks across a cluster using a pluggable transport layer supporting RabbitMQ and Redis. The framework provides specialized tools for complex task orchestration, including the ability to link background jobs into sequences, pipelines, and barriers. It further manages distributed concurrency through the use of shared mutexes, rate limiters, and exponential backoff retries to prevent re

    Uses shared locks and barriers to coordinate task execution and prevent resource exhaustion across a cluster.

    Pythondistributed-lockpythonrabbit
    Voir sur GitHub↗5,136
  • hashicorp/consul-templateAvatar de hashicorp

    hashicorp/consul-template

    4,830Voir sur GitHub↗

    Consul Template est un moteur de rendu de configuration et un gestionnaire de configuration dynamique qui génère des fichiers en remplissant des modèles avec des données provenant de Consul et Vault. Il fonctionne comme un moteur de template de découverte de services et un intégrateur de gestion des secrets, transformant le catalogue de cluster et les données de santé en fichiers de configuration formatés. L'outil se distingue en agissant comme un superviseur de processus et un notificateur, capable d'exécuter des commandes shell ou de redémarrer automatiquement les applications après la mise à jour des modèles. Il dispose d'un watcher à long polling pour surveiller les magasins clé-valeur distants et emploie un mécanisme de verrouillage partagé pour coordonner les mises à jour sur plusieurs instances et empêcher les redémarrages de service simultanés. Le système couvre un large éventail de capacités, notamment la rotation automatique des secrets pour les certificats PKI et les identifiants Vault, la transformation de format de données pour JSON et YAML, et l'exécution de plugins binaires externes pour le traitement de données personnalisé. Il fournit également l'amorçage d'infrastructure et la synchronisation de rendu distribué pour réduire la charge API via la déduplication de requêtes basée sur le leader.

    Prevents simultaneous configuration updates across multiple instances using a shared distributed locking mechanism.

    Goconsulgolangvault
    Voir sur GitHub↗4,830
  • gomods/athensAvatar de gomods

    gomods/athens

    4,773Voir sur GitHub↗

    Athens est un serveur proxy de modules Go et un cache de dépendances qui fournit un système de stockage persistant pour les dépendances Go. Il agit comme un miroir et un magasin de données pour assurer des environnements de build reproductibles en stockant des copies immuables de paquets externes, protégeant contre les suppressions ou pannes en amont. Le projet se distingue en servant de passerelle sécurisée pour l'hébergement de modules Go privés, utilisant des jetons d'authentification, des clés SSH et des GitHub Apps pour récupérer les dépendances depuis des systèmes de contrôle de version privés. Il permet en outre la conformité des dépendances logicielles via le filtrage de requêtes et le proxying de checksum, ce qui empêche les métadonnées de modules privés de fuiter vers des serveurs publics. Le serveur prend en charge un large éventail de backends de stockage, incluant le disque local, les bases de données NoSQL et les magasins d'objets cloud compatibles S3. Il inclut des fonctionnalités de mise en cache distribuée des dépendances avec verrouillage partagé pour éviter les téléchargements redondants à travers plusieurs instances et fournit des outils pour pré-remplir le stockage dans des environnements isolés (air-gapped). Le serveur peut être déployé via des conteneurs Docker, des charts Helm Kubernetes ou diverses plateformes cloud gérées.

    Uses shared locking mechanisms to prevent redundant downloads across multiple server instances.

    Goathensdependenciesdependency-manager
    Voir sur GitHub↗4,773
  • ydb-platform/ydbAvatar de ydb-platform

    ydb-platform/ydb

    4,738Voir sur GitHub↗

    YDB est une base de données SQL distribuée et un moteur analytique conçu pour la scalabilité horizontale et une forte cohérence. Il fonctionne comme un système multi-modèle qui prend en charge les charges de travail transactionnelles et analytiques via une architecture distribuée fournissant des transactions ACID sérialisables. Le système se distingue par sa large compatibilité de protocole, implémentant le protocole wire PostgreSQL pour les pilotes SQL standard et le protocole Kafka pour la messagerie et le streaming. Il sert en outre de base de données vectorielle, prenant en charge les index vectoriels et les recherches de voisins les plus proches approximatifs pour la recherche sémantique et les embeddings. La plateforme gère les données en utilisant un modèle de stockage hybride avec des formats orientés lignes et orientés colonnes, utilisant l'exécution de requêtes vectorisées pour des analyses à l'échelle du pétaoctet. Sa surface opérationnelle inclut le streaming de capture de données modifiées (CDC), des files d'attente persistantes avec garantie d'exécution unique (exactly-once) et une haute disponibilité multi-zone. Le déploiement et la gestion du cycle de vie sont pris en charge via un opérateur Kubernetes et le provisionnement d'infrastructure as code.

    Synchronizes activities across distributed client applications using semaphores and coordination nodes.

    C++cloud-nativecppdatabase
    Voir sur GitHub↗4,738
  • dkron-io/dkronAvatar de dkron-io

    dkron-io/dkron

    4,699Voir sur GitHub↗

    Dkron is a distributed, fault-tolerant system designed for scheduling and executing recurring tasks across a cluster of nodes. It functions as a cron-based orchestrator that manages job lifecycles, including automatic retries, timeouts, and complex dependencies, while ensuring state consistency through a consensus protocol. By coordinating remote task execution across infrastructure, it enables the automation of background operations and the management of distributed workflows. The system distinguishes itself through a modular architecture that supports pluggable storage backends and a plugin

    A cluster-aware engine that coordinates remote task execution and maintains state consistency across multiple servers using pluggable storage backends.

    Gocrondistributed-systemsfault-tolerance
    Voir sur GitHub↗4,699
  • douyu/jupiterAvatar de douyu

    douyu/jupiter

    4,564Voir sur GitHub↗

    Jupiter is a comprehensive suite for task scheduling, performance observability, service governance, project bootstrapping, and dependency analysis within service meshes. It provides a microservice governance framework to manage service discovery, load balancing, and communication across distributed systems. The project distinguishes itself through a service mesh management tool that analyzes service dependencies and manages multi-data center registration and runtime configuration. It includes a dedicated microservice project bootstrapper via a command-line tool to generate standardized proje

    Coordinates and synchronizes the execution of timed tasks across multiple server instances for consistent reliability.

    Godouyudouyutvetcd
    Voir sur GitHub↗4,564
  • lukas-krecan/shedlockAvatar de lukas-krecan

    lukas-krecan/ShedLock

    4,170Voir sur GitHub↗

    ShedLock est un gestionnaire de verrouillage distribué conçu pour empêcher les tâches planifiées de s'exécuter simultanément à travers de multiples nœuds dans un système distribué. Il agit comme un coordinateur de tâches qui garantit une exécution unique des travaux planifiés en gérant les durées de vie des verrous et en utilisant des fournisseurs de verrouillage externes. Le système utilise des fournisseurs basés sur une base de données pour stocker les états d'exécution des tâches dans des bases de données externes, synchronisant les verrous à travers les nœuds de cluster actifs. Il inclut un synchroniseur tolérant à la dérive d'horloge qui gère les écarts de temps entre les nœuds distribués via l'utilisation d'horodatages partagés et de durées de vie de verrou flexibles. Le projet fournit des mécanismes pour l'exclusion mutuelle des ressources partagées et la coordination des tâches multi-nœuds. Il prend en charge l'expiration automatique des verrous pour prévenir les blocages lors des plantages de nœuds et maintient des durées de maintien de verrou minimales pour garantir que les tâches se terminent avant qu'un verrou ne soit libéré. L'implémentation utilise une abstraction agnostique au fournisseur pour découpler la logique de verrouillage de divers backends de base de données.

    Coordinates scheduled tasks across a cluster to ensure exactly-once execution using shared locks in external stores.

    Java
    Voir sur GitHub↗4,170
  • go-redsync/redsyncAvatar de go-redsync

    go-redsync/redsync

    4,026Voir sur GitHub↗

    Redsync est un gestionnaire de verrous distribués et une extension client Redis pour Go, conçue pour garantir un accès exclusif aux ressources partagées. Il implémente l'exclusion mutuelle entre plusieurs processus en utilisant un backend Redis pour coordonner la synchronisation et prévenir les conditions de concurrence dans les environnements distribués. La bibliothèque maintient la validité des verrous grâce à un consensus basé sur le quorum, exigeant des écritures réussies sur une majorité de nœuds Redis indépendants. Elle utilise des opérations atomiques via des scripts Lua pour l'acquisition et la libération, tout en employant une validation de propriété basée sur la valeur et une expiration TTL (Time-To-Live) pour éviter les interblocages. Le projet offre des fonctionnalités de coordination distribuée et de synchronisation d'applications, utilisant une stratégie de réessai côté client pour gérer les délais d'attente lors de l'acquisition de ressources.

    Uses Redis to synchronize tasks and state between decoupled components to prevent resource exhaustion and race conditions.

    Go
    Voir sur GitHub↗4,026
  • node-cron/node-cronAvatar de node-cron

    node-cron/node-cron

    3,264Voir sur GitHub↗

    Cette bibliothèque fournit un framework de planification de tâches pour les applications Node.js, permettant l'automatisation d'opérations récurrentes en utilisant la syntaxe cron standard. Elle fonctionne comme un gestionnaire de tâches en arrière-plan qui maintient un registre d'état des jobs, permettant l'inspection, la modification et le contrôle du cycle de vie des opérations planifiées au moment de l'exécution. Le projet se distingue par son support des environnements distribués et de la gestion des ressources. Il inclut des mécanismes pour coordonner les tâches sur plusieurs instances d'application, garantissant que le travail planifié s'exécute exactement une fois pour éviter les chevauchements ou les contentions de ressources. Pour maintenir la réactivité de l'application, il peut décharger la logique intensive vers des processus enfants isolés, empêchant la boucle d'événements principale de se bloquer lors d'une exécution lourde. La bibliothèque offre une suite complète d'outils d'observabilité et de configuration, incluant la surveillance du cycle de vie pilotée par les événements, la planification tenant compte des fuseaux horaires et la gestion du timing d'exécution. Elle fonctionne comme un runtime sans dépendance, ce qui minimise la surface d'attaque de sécurité et simplifie l'intégration dans des environnements restreints.

    Coordinates tasks across multiple instances to ensure exactly-once execution and prevent resource contention.

    TypeScriptbackground-jobscroncron-jobs
    Voir sur GitHub↗3,264
  • gosom/google-maps-scraperAvatar de gosom

    gosom/google-maps-scraper

    3,192Voir sur GitHub↗

    This project is a distributed scraping engine designed to extract business details, customer reviews, and lead information from Google Maps. It functions as a business scraper and data extractor that can be deployed as a permanent system or as on-demand serverless functions. The system utilizes a proxy-routed web crawler to manage request origins via SOCKS5, HTTP, and HTTPS proxies. To locate contact information, it includes an email extraction tool that recursively crawls business websites linked within map listings. The software supports coordinate-based radius searches for efficient data

    Coordinates distributed scraping tasks across multiple instances using a shared database to prevent race conditions.

    Godistributed-scraperdistributed-scrapinggolang
    Voir sur GitHub↗3,192
  • leahneukirchen/nqAvatar de leahneukirchen

    leahneukirchen/nq

    3,121Voir sur GitHub↗

    nq is a daemonless job orchestrator and POSIX shell task manager that manages asynchronous command execution on Unix systems. It functions as a command line job queue using directories and file-system locks to coordinate background processes across multiple terminal sessions. The system distinguishes itself by utilizing file-system-based locking to ensure sequential job execution without requiring a resident background daemon. It enables shared queue coordination, allowing different terminal sessions to synchronize work by directing tasks to specific directories. The project covers backgroun

    Coordinates shared queues across multiple terminal sessions using file system locks to prevent concurrent execution.

    C
    Voir sur GitHub↗3,121
Préc.12Suivant
  1. Home
  2. DevOps & Infrastructure
  3. Distributed Lock Coordination

Explorer les sous-tags

  • Distributed Task Coordination1 sous-tagCoordination of distributed tasks using shared locks and barriers to prevent resource exhaustion and race conditions. **Distinct from Distributed Lock Coordination:** Broadens lock coordination to include synchronization barriers for general task execution.