我正在对AKKA执导演员进行性能测试,我想知道写给日记的影响。
一个简单的问题,但是我没有在文档中找到任何东西:
如何从配置文件中禁用日志?我正在寻找类似模拟或null日记插件的东西。
有什么主意吗?
答案 0 :(得分:1)
AFAIK,没有akka持久性插件,它什么都不做-因为它基本上破坏了持久性的目的。请注意,akka-persistence使用eventsourcing方法,因此 journal 是“主要”存储,快照是在actor崩溃/重新启动等之后加快状态恢复的优化。因此,您无法真正完全禁用日记。
与您想要的最接近的可能是in-memory持久性或Local LevelDB持久性。
此外,还有一个list of community-built plugins for persistence-您也许可以找到与您的用例匹配的内容。
但是,我建议您使用生产中使用的实际持久性插件来测试持久性的性能-结果在不同的持久性后端(例如,Cassandra与DynamoDb,JDBC与Mongo等)之间会有所不同< / p>
答案 1 :(得分:0)
我创建了一个带有持久性插件(新闻+快照)的项目,该插件除了忽略外基本上什么也没做。
当然,使用此插件在失败后将无法恢复,因此您的系统将不会具有弹性。
这是项目:https://github.com/angelcervera/akka-persistence-nowhere
如何使用它:
resolvers += "osm4scala repo" at "http://dl.bintray.com/angelcervera/maven" // If
it's not found in the main maven repository.
libraryDependencies += "com.acervera.akka" %% "akka-persistence-nowhere" % "1.0.1"
akka {
persistence {
journal.plugin = "disable-journal-store"
snapshot-store.plugin = "disable-snapshot-store"
}
}
disable-journal-store {
class = "com.acervera.akka.persistence.nowhere.AkkaPersistenceNowhereJournal"
plugin-dispatcher = "akka.persistence.dispatchers.default-plugin-dispatcher"
}
disable-snapshot-store {
class = "com.acervera.akka.persistence.nowhere.AkkaPersistenceNowhereSnapshotStore"
plugin-dispatcher = "akka.persistence.dispatchers.default-plugin-dispatcher"
}