在Cassandra中可以有外部触发器吗?

问题描述:

我需要一名工作人员订阅列族中的新数据条目。 我不得不调用生产者端的服务消费数据,或者调查列系列中的新数据,这是浪费资源并且还会导致延迟。在Cassandra中可以有外部触发器吗?

我希望在将新数据写入列族时调用一些外部服务。是否有可能在新数据到达时调用外部服务,例如REST端点?

有两个功能,triggersCDC(更改数据捕获)可能工作。您可以创建一个触发器来接收更新并执行http请求,也可以使用CDC将突变的每个副本副本作为日志来遍历。

CDC更好地保持一致性,因为在应用突变之前会触发触发器,您的API端点可能会被通知,但然后突变无法应用,因此您处于不一致的状态。但触发器更容易,因为您不必担心重复数据删除,因为每个查询只有1个,而每个副本只有1个。或者,您可以同时使用两种更新缓存状态的触发器,然后使用映射减少作业的CDC修复任何不一致情况。