什么可能是最轻的内存和CPU组合的快照插件和事件存储?

时间:2014-11-15 14:09:48

标签: akka-persistence

我们正在使用Akka Persistence for POC来获取内部指标收集服务器解决方案。 在这个时候,我们希望保持尽可能轻(内存和CPU)。 我们正在使用内存日志和文件快照。一切正常,我们唯一的问题就是我们拥有的快照数量。我们已经删除了除最后一个快照之外的所有快照(当然是每个持久性actor),但文件数量仍然太大(我们创建了很多演员)。

那么,有没有什么建议什么是快照插件/事件存储的最佳组合,这仍然会让我们保持清醒?

  • H2 / Derby + JDBC?
  • 使用--smallfiles的本地MongoDB?
  • 尝试以某种方式使用嵌入式Mongo(到目前为止我所看到的仅用于测试目的,不确定它是否足够稳定)?
  • 其他一些想法?

请注意,我们暂时没有计划分发,性能测试为我们的用例提供了足够好的数字,所以保持在同一台机器上是合适的,应该足够了。

1 个答案:

答案 0 :(得分:1)

如果您只关注快照或商店规模,则应考虑以下事项:

  1. 优化存储为日记事件/快照的数据
  2. 使用序列化程序支持压缩kryo / akka-kryo-serialization
  3. 选择支持压缩的数据存储(例如cassandra)及其相应的插件akka-persistence-cassandra
  4. 当然所有这些都可能会影响表现。