【问题标题】:Fire triggers in replica nodes (cassandra)副本节点中的触发触发器 (cassandra)
【发布时间】:2019-10-30 15:55:41
【问题描述】:

我正在使用 Cassandra 4 节点集群,在所有节点中进行完全复制。

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

有没有办法在所有节点中触发这个触发器(基于复制)?

【问题讨论】:

  • 触发器有什么作用?复制可以负责将触发器的结果传播到其他节点吗?
  • 触发器仅用于通知应用程序发生数据更改。触发器不会以任何方式更新/删除/插入 cassandra 中的数据。
  • 欢迎@NefHal,不要羞于用其他信息编辑您的问题。您可以随时添加要求澄清的附加评论“@user”。

标签: cassandra triggers replication


【解决方案1】:

触发器在被应用之前在协调器上运行。要在每个副本上查看它,最好的方法是使用CDC(这也比触发器更可靠)并在刷新到提交日志时跟踪更改。

【讨论】:

【解决方案2】:

使用 CDC,您必须解决其他问题:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多