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

wmtdaxz3  于 2021-06-10  发布在  Cassandra
关注(0)|答案(2)|浏览(462)

我使用的是一个cassandra 4节点集群,所有节点都有完整的复制。
我在一个表上定义了一个触发器。但是,当我更新这个表中的一行时,触发器只在本地节点上触发。
是否有任何方法在所有节点中触发此触发器(基于复制)?

63lcw9qa

63lcw9qa1#

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

ki0zmccv

ki0zmccv2#

有了cdc,你必须解决另一个问题:
验证口袋的顺序,因为不能保证
在单点故障和cdc日志复制检查器实现工具之间进行权衡,让我解释一下:您要么在一个节点上启用cdc日志,这将成为您的瓶颈。或者您在所有节点上启用cdc,然后您必须以某种方式管理数据复制,因为leader会将日志发送给Repifications。
您可以在集群的每个节点上部署触发器。它不会造成任何数据重复,工作非常好。

相关问题