akka持久性cassandra和标记如何配合使用?

akka持久性cassandra和标记如何配合使用?,cassandra,akka,akka-persistence,Cassandra,Akka,Akka Persistence,到目前为止,我只在日志插件中使用akka persistence cassandra,并没有太多关注标签 最近我做了一些实验来了解它是如何工作的,但是有一些观点让我很困惑,所以我想在这里问一下这些问题 现在,我了解到标签的存在,所以Cassandra可以创建超过标签和timebucket的分区,以防止Cassandra中出现热点 当我配置cassandra日志插件和事件标记时,我会在cassandra密钥空间、消息、元数据、标记扫描、标记视图、标记写入进度中看到以下表格 现在,若并没有配置标记,

到目前为止,我只在日志插件中使用akka persistence cassandra,并没有太多关注标签

最近我做了一些实验来了解它是如何工作的,但是有一些观点让我很困惑,所以我想在这里问一下这些问题

现在,我了解到标签的存在,所以Cassandra可以创建超过标签和timebucket的分区,以防止Cassandra中出现热点

当我配置cassandra日志插件和事件标记时,我会在cassandra密钥空间、消息、元数据、标记扫描、标记视图、标记写入进度中看到以下表格

现在,若并没有配置标记,日志插件将只写入消息表,但若同时配置了事件标记,它将同时保存到消息和标记扫描、标记视图、标记写入进度表

  • 那么第一个问题,写消息和标记扫描、标记视图、标记写入进度的优点或原因是什么,这不意味着Cassandra会有更多的负载吗

  • 第二个问题,我是否做错了什么事?我是否必须以某种方式关闭日志插件中的某些内容,这样它就不会持续出现在消息中

我错过了什么


Thx for answers…

标记并非特定于Cassandra journal插件,而是Akka Persistence/Akka Persistence查询的通用概念,允许事件源应用程序标记事件的子集,并将这些事件作为流单独使用

标记通常用于将投影拆分/切分更新为多个工作者,例如,请参见此处的CQRS Akka示例:

事件始终存储在messages表中,即使它们已被标记,因此标记会导致一些额外的写入

tag\u write\u progress
tag\u scanning
是与标记事件的一致性和顺序相关的实现细节


如果您的应用程序中没有使用标记,您可以完全禁用插件中的“按标记事件”支持,因为维护相关表会增加一些开销。

首先,请回答thx,但我仍然不理解标记的好处。我一直认为它们的存在是为了增加碎片的比例因子,但如果我写两次并序列化,那就没什么好处了。如果我理解正确的话,如果使用了标签,那么在演员恢复过程中,这些标签将被使用?不,它们不用于恢复。标记是选择性加入的,因此如果您认为存储开销对您的用例有问题,您可以通过不使用标记来避免这一问题。请你解释一下好吗。为什么我要考虑使用阿卡投影?我想实现一个CQRS应用程序。集群切分中的一些参与者将事件持久化到Cassandra,读取端通过标记获取事件并发布到Kafka,以便在另一个微服务中使用。我可以只使用持久性查询吗?Akka投影只是持久性查询的包装器吗?任何帮助都将不胜感激