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

时间:2016-02-18 16:48:04

标签: node.js scheduled-tasks distributed paxos raft

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

1 个答案:

答案 0 :(得分:2)

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