3 个仓库
Systems that ensure scheduled tasks execute exactly once across multiple application instances using shared state or locking mechanisms.
Distinct from Instance Scheduling Policies: Distinct from Instance Placements Across Members: focuses on coordinating the execution of application-level tasks across nodes, not the physical placement of containers or VMs.
Explore 3 awesome GitHub repositories matching devops & infrastructure · Distributed Task Coordinators. Refine with filters or upvote what's useful.
FreeSql 是一个 .NET 对象关系映射器(ORM)和数据访问层,可将面向对象的代码转换为适用于多种关系型数据库提供程序的 SQL。它作为一个流畅的 SQL 查询构建器和数据库架构同步器,允许开发者将数据库表和索引结构与实体类定义保持一致。 该框架专门针对 .NET Native AOT 进行了优化,以确保更小的内存占用和更快的启动时间。它包含一个数据库流量管理器,通过读写分离、动态分表和基于租户的数据隔离来分配负载。 其广泛的功能包括使用特定于提供程序的批量复制机制实现高性能数据摄入,利用窗口函数和递归 CTE 进行高级查询,以及基于 AOP 的数据变更审计监控。该系统还提供用于自动迁移的架构管理工具,以及用于从数据库元数据生成实体类的开发实用程序。
Coordinates task execution across multiple application instances to prevent duplicate work using shared state.
ShedLock 是一个分布式锁管理器,旨在防止定时任务在分布式系统中的多个节点上并发运行。它作为一个任务协调器,通过管理锁寿命和利用外部锁提供商来确保定时作业的单次执行。 该系统利用基于数据库的提供商将任务执行状态存储在外部数据库中,从而在活跃集群节点间同步锁。它包含一个容忍时钟漂移的同步器,通过使用共享时间戳和灵活的锁寿命来处理分布式节点之间的时间差异。 该项目提供了共享资源互斥和多节点任务协调的机制。它支持自动锁过期以防止节点崩溃期间的死锁,并保持最小锁持有时间以确保任务在锁释放前完成。 该实现使用与提供商无关的抽象,将锁定逻辑与各种数据库后端解耦。
Provides a coordination system that ensures scheduled tasks execute exactly once across multiple application instances using shared locking mechanisms.
This library provides a task scheduling framework for Node.js applications, enabling the automation of recurring operations using standard cron syntax. It functions as a background task manager that maintains a stateful registry of jobs, allowing for runtime inspection, modification, and lifecycle control of scheduled operations. The project distinguishes itself through support for distributed environments and resource management. It includes mechanisms to coordinate tasks across multiple application instances, ensuring that scheduled work executes exactly once to prevent overlap or resource
Run a scheduled task exactly once across multiple instances using a shared backend while automatically failing over if the elected runner becomes unavailable.