副本节点(cassandra)中的触发触发器

时间:2019-10-30 15:55:41

标签: cassandra triggers replication

我使用的是Cassandra 4节点群集,所有节点都具有完全复制功能。

我已经在表上定义了一个触发器。但是,当我更新此表中的一行时,触发器仅在本地节点上触发。

有没有办法在所有节点上触发该触发器(基于复制)?

2 个答案:

答案 0 :(得分:1)

触发器在传递之前在协调器上运行。要在每个副本上查看它,最好的方法是使用CDC(比触发器更可靠)并在将更改刷新到commitlog时进行更改。

答案 1 :(得分:0)

使用CDC,您必须解决另一个问题:

  • 验证口袋的顺序,因为不能保证
  • 在单点故障与CDC日志重复检查器的实现工具之间进行权衡,让我解释一下: 您可以在一个节点上启用CDC日志记录,这将成为您的瓶颈。或者,您在所有节点上启用CDC,然后必须以某种方式管理数据重复,因为领导者会将日志发送到副本。

您可以在集群的每个节点上部署触发器。不会造成任何数据重复并且可以正常工作。