23 dépôts
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.