问题描述
我们计划将MongoDB中的集合数据连续同步到另一个数据库(在本例中为Cassandra)。
我正在考虑听mongo-oplog,然后将这些更改推送给Cassandra。这是有风险的,因为MongoDB中的数据可能随时对Cassandra或Cassandra群集无效。如果Cassandra发生故障,我们必须调用某种警报,将所有读取请求路由到MongoDB,然后从故障点将数据重新同步到Cassandra。这是一项繁重的工作,任何更多的工作都可能会增加另一个故障点。
那么对于这种情况,是否有最佳实践,或者是否有无缝实现此目的的任何种类的库或服务?谢谢。
解决方法
如果您可以将MongoDB更新发布到Kafka主题,则DataStax具有适用于Cassandra的开源Kafka连接器。这将是一个更具弹性和高度可用性的解决方案。
有关更多信息,请参见GitHub上的Kafka connector for Cassandra docs和kafka-sink存储库。
如果您有兴趣,这里还有一个15分钟的片假田教程-https://www.datastax.com/dev/scenario/datastax-kafka-connector。干杯!