使用 Cassandra 在 Node.js 中跨多数据中心环境分发计划任务

Distributing scheduled tasks across multi-datacenter environment in Node.js with Cassandra

我们正在尝试构建一个系统,该系统从 Cassandra 数据库中获取要执行的任务列表,然后通过某种群体共识创建一个执行计划(最好在一个节点上),然后由整个服务器集群。我们真的不想添加任何额外的软件,例如 Redis 或 AMPQ 系统,而是将共识直接构建到所有服务器 运行 作业中。到目前为止,我们已经找到了 Skiff,它是 Raft 算法的一个实现,看起来可以完成任务,但我想知道是否有人以一种不涉及外部消息系统的纯粹 Node.js 方式找到了解决此问题的优雅方法.

Cassandra 支持轻量级事务,这基本上是 Paxos 实现,提供线性一致性和 CAS 操作(共识)。所以你可以使用Cassandra本身来序列化执行计划。