我希望有一个实时高效的系统来执行事件的实时窗口计数器。例如,最近30分钟内每个国家/地区的点击次数。我的想法是,使用Kafka和Cassandra:
当在时间 t 发生点击事件 e 时,会将增量发送到累加器(我想为此目的使用Cassandra计数器);同时,此事件应在时间 t + 30min 处生成一个递减事件,该事件基本上标志着事件e从关注窗口的退出。然后,该减量将在时间 t + 30min 处存储在累加器中。随时查询累加器将给出当前正确的计数器值
我不确定如何使用Kafa实现这一目标。我想到了两种方法
这两种解决方案中哪一种是最好的?如果我1)阻止使用者或2)延迟使用者,我是否以正确的方式使用Kafka API?