我们正在编写高负荷订单处理引擎。每个集群节点处理一组合同并将操作日志写入本地文件。此文件应分配一些其他节点(用于容错)。如果节点发生故障,应该尽可能快地在其中一个复制节点上恢复它的状态。目前我们使用cassandra但是分区器存在一些问题:无法指定应该为特定表使用哪些节点。
所以我们需要复制文件。有解决方案吗?
修改:峰值负载将达到每秒约200,000条记录。
答案 0 :(得分:0)
关于您的Cassandra问题:虽然每个表/列家族不能有不同的复制布局,但可以每个键空间具有不同的布局。这包括像你这样的情况,听起来你想要一些节点S1完全负责数据的某些部分,而另一些节点S2负责另一部分。
如果您将S1和S2表示为与Cassandra不同的数据中心(通过PropertyFileSnitch或其他),那么您可以配置,例如,键空间K1在S1上具有X个副本而在S2上没有,而对于键空间K2则相反。