在Cassandra有可能有外部触发器吗?

时间:2017-10-18 11:52:22

标签: cassandra

我需要一个worker来订阅列族中的新数据条目。 我必须在生产者端调用消耗数据的服务,或者在列系列中轮询新数据,这会浪费资源并导致一些延迟的延迟。

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

1 个答案:

答案 0 :(得分:3)

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

CDC更好的一致性,因为在应用突变之前触发了一个触发器,您的API端点可能会被通知但是然后突变无法应用,因此您处于不一致状态。但触发器更容易,因为您不需要担心重复数据删除,因为每个查询只有1个而每个副本1个。或者您可以使用更新缓存状态的触发器,然后使用map reduce工作来修复任何不一致的CDC。