前面的例子里示范akka-persistence时已经使用了cassandra作为journal和snapshot-store。
这部分我会在完成SDP项目后以akka-persistence为核心,通过akka-http,AMQP如RabitMQ等技术来实现。
也可以这样理解:event-sourcing(事件源)是一种特殊数据录入模式,akka-persistence是这种模式的具体实现方式。事件源的核心思想是把某写发生的事件写入log(journal)。 } ... akka-persistence代表CQRS模式中以事件源方式存写数据的具体实现。
akkaversion, "com.typesafe.akka" %% "akka-cluster-sharding" % akkaversion, "com.typesafe.akka" %% "akka-persistence
上篇我介绍了CQRS模式存写部分的具体实现和akka-persistence一些函数和消息的用法。在这篇本来是准备直接用一个具体的例子来示范CQRS模式编程,主要是写端,或者是数据采集端。
我们在这篇通过一个具体CQRS-Reader-Actor的例子来示范akka-persistence的query端编程和应用。 libraryDependencies := Seq( "com.typesafe.akka" %% "akka-cluster-sharding" % "2.5.19", "com.typesafe.akka" %% "akka-persistence
akka-persistence:持久化组件,提供“至少投递一次”的能力来保证消息的可靠送达。
akkaversion, "com.typesafe.akka" %% "akka-cluster-sharding" % akkaversion, "com.typesafe.akka" %% "akka-persistence
akka-actor akka-agent akka-camel akka-cluster akka-multi-node-testkit akka-persistence akka-remote akka-remote
akkaversion, "com.typesafe.akka" %% "akka-cluster-sharding" % akkaversion, "com.typesafe.akka" %% "akka-persistence
akkaversion, "com.typesafe.akka" %% "akka-cluster-sharding" % akkaversion, "com.typesafe.akka" %% "akka-persistence
libraryDependencies := Seq( "com.typesafe.akka" %% "akka-cluster-sharding" % "2.5.19", "com.typesafe.akka" %% "akka-persistence
akkaVersion, "com.typesafe.akka" %% "akka-cluster-sharding" % akkaVersion, "com.typesafe.akka" %% "akka-persistence
libraryDependencies := Seq( "com.typesafe.akka" %% "akka-cluster-sharding" % "2.5.19", "com.typesafe.akka" %% "akka-persistence
"com.typesafe.akka" %% "akka-actor" % "2.5.3", "com.typesafe.akka" %% "akka-persistence
"com.typesafe.akka" %% "akka-actor" % "2.5.3", "com.typesafe.akka" %% "akka-persistence
"com.typesafe.akka" %% "akka-actor" % "2.5.3", "com.typesafe.akka" %% "akka-persistence
多个消息同时发送给actor时,全部会先放入该actor的mailbox里排队; 然后actor单线程从mailbox顺序消费消息; 消费一个后产生事件; 持久化事件,akka-persistence也是采用了
多个消息同时发送给actor时,全部会先放入该actor的mailbox里排队; 然后actor单线程从mailbox顺序消费消息; 消费一个后产生事件; 持久化事件,akka-persistence也是采用了
-- sbt --> libraryDependencies += "com.typesafe.akka" %% "akka-persistence" % "2.5.20" Akka 持久性扩展附带了一些内置持久性插件