links to platform guide (#29846)
This commit is contained in:
parent
12ca84c247
commit
5db6a3a491
7 changed files with 19 additions and 45 deletions
|
|
@ -29,10 +29,8 @@ side of an application, however it can help to migrate data from the write side
|
|||
simple scenarios Persistence Query may be powerful enough to fulfill the query needs of your app, however we highly
|
||||
recommend (in the spirit of CQRS) of splitting up the write/read sides into separate datastores as the need arises.
|
||||
|
||||
|
||||
The [CQRS with Akka 2.6 video](https://akka.io/blog/news/2020/02/05/akka-cqrs-video) is a good starting point for
|
||||
learning how to use `eventsByTag` to implement CQRS with Akka. Also, watch the introduction to
|
||||
[Event Sourcing with Akka 2.6 video](https://akka.io/blog/news/2020/01/07/akka-event-sourcing-video).
|
||||
The @extref[Microservices with Akka tutorial](platform-guide:microservices-tutorial/) explains how to
|
||||
implement an Event Sourced CQRS application with Akka Persistence and Akka Projections.
|
||||
|
||||
## Design overview
|
||||
|
||||
|
|
@ -344,23 +342,8 @@ resilience is important so that if a node crashes the persistent queries are qui
|
|||
resume operations @ref:[Cluster Sharding](cluster-sharding.md) together with event tagging is an excellent fit to
|
||||
shard events over a cluster.
|
||||
|
||||
The [Lagom framework](https://www.lagomframework.com), which is built on top of Akka encodes many of the best practices
|
||||
around this. For more details see @java[[Managing Data Persistence](https://www.lagomframework.com/documentation/current/java/ES_CQRS.html)]
|
||||
@scala[[Managing Data Persistence](https://www.lagomframework.com/documentation/current/scala/ES_CQRS.html)] and
|
||||
@java[[Persistent Entity](https://www.lagomframework.com/documentation/current/java/PersistentEntity.html)]
|
||||
@scala[[Persistent Entity](https://www.lagomframework.com/documentation/current/scala/PersistentEntity.html)] in the Lagom documentation.
|
||||
|
||||
|
||||
### Plugin TCK
|
||||
|
||||
TODO, not available yet.
|
||||
|
||||
## Example project
|
||||
|
||||
@java[@extref[CQRS example project](samples:akka-samples-cqrs-java)]
|
||||
@scala[@extref[CQRS example project](samples:akka-samples-cqrs-scala)]
|
||||
is an example project that can be downloaded, and with instructions of how to run.
|
||||
|
||||
This project contains a Shopping Cart sample illustrating how to use Akka Persistence.
|
||||
The events are tagged to be consumed by even processors to build other representations
|
||||
from the events, or publish the events to other services.
|
||||
The @extref[Microservices with Akka tutorial](platform-guide:microservices-tutorial/) explains how to
|
||||
use Event Sourcing and Projections together. The events are tagged to be consumed by even processors to build
|
||||
other representations from the events, or publish the events to other services.
|
||||
|
|
|
|||
|
|
@ -52,12 +52,10 @@ This project contains a Shopping Cart sample illustrating how to use Akka Persis
|
|||
|
||||
## CQRS
|
||||
|
||||
@java[@extref[CQRS example project](samples:akka-samples-cqrs-java)]
|
||||
@scala[@extref[CQRS example project](samples:akka-samples-cqrs-scala)]
|
||||
|
||||
This project contains a Shopping Cart sample illustrating how to use Akka Persistence.
|
||||
The events are tagged to be consumed by even processors to build other representations
|
||||
from the events, or publish the events to other services.
|
||||
The @extref[Microservices with Akka tutorial](platform-guide:microservices-tutorial/) contains a
|
||||
Shopping Cart sample illustrating how to use Event Sourcing and Projections together. The events are
|
||||
tagged to be consumed by even processors to build other representations from the events, or publish the events
|
||||
to other services.
|
||||
|
||||
## Replicated Event Sourcing
|
||||
|
||||
|
|
|
|||
|
|
@ -20,10 +20,7 @@ In a microservices architecture, you should consider communication within a serv
|
|||
In general we recommend against using Akka Cluster and actor messaging between _different_ services because that
|
||||
would result in a too tight code coupling between the services and difficulties deploying these independent of
|
||||
each other, which is one of the main reasons for using a microservices architecture.
|
||||
See the discussion on
|
||||
@scala[[Internal and External Communication](https://www.lagomframework.com/documentation/current/scala/InternalAndExternalCommunication.html)]
|
||||
@java[[Internal and External Communication](https://www.lagomframework.com/documentation/current/java/InternalAndExternalCommunication.html)]
|
||||
in the docs of the [Lagom Framework](https://www.lagomframework.com) (where each microservice is an Akka Cluster)
|
||||
See the discussion on @extref[Internal and External Communication](platform-guide:concepts/internal-and-external-communication.html)
|
||||
for some background on this.
|
||||
|
||||
Nodes of a single service (collectively called a cluster) require less decoupling. They share the same code and
|
||||
|
|
|
|||
|
|
@ -1,11 +1,7 @@
|
|||
# CQRS
|
||||
|
||||
@ref:[EventSourcedBehavior](persistence.md)s along with [Akka Projections](https://doc.akka.io/docs/akka-projection/current/) can be used to implement
|
||||
Command Query Responsibility Segregation (CQRS).
|
||||
|
||||
The @java[@extref[CQRS example project](samples:akka-samples-cqrs-java)]@scala[@extref[CQRS example project](samples:akka-samples-cqrs-scala)]
|
||||
shows how to do this, including scaling read side processors for building projections.
|
||||
In the sample the events are tagged to be consumed by even processors to build other representations
|
||||
from the events, or publish the events to other services.
|
||||
@ref:[EventSourcedBehavior](persistence.md)s along with [Akka Projections](https://doc.akka.io/docs/akka-projection/current/)
|
||||
can be used to implement Command Query Responsibility Segregation (CQRS). The @extref[Microservices with Akka tutorial](platform-guide:microservices-tutorial/)
|
||||
explains how to use Event Sourcing and Projections together.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -234,6 +234,7 @@ To continue your journey with Akka, we recommend:
|
|||
|
||||
To get from this guide to a complete application you would likely need to provide either an UI or an API. For this we recommend that you look at the following technologies and see what fits you:
|
||||
|
||||
* @extref[Microservices with Akka tutorial](platform-guide:microservices-tutorial/) illustrates how to implement an Event Sourced CQRS application with Akka Persistence and Akka Projections
|
||||
* [Akka HTTP](https://doc.akka.io/docs/akka-http/current/introduction.html) is a HTTP server and client library, making it possible to publish and consume HTTP endpoints
|
||||
* [Play Framework](https://www.playframework.com) is a full fledged web framework that is built on top of Akka HTTP, it integrates well with Akka and can be used to create a complete modern web UI
|
||||
* [Lagom](https://www.lagomframework.com) is an opinionated microservice framework built on top of Akka, encoding many best practices around Akka and Play
|
||||
|
|
|
|||
|
|
@ -33,8 +33,8 @@ events to the actor, allowing it to rebuild its state. This can be either the fu
|
|||
or starting from a checkpoint in a snapshot which can dramatically reduce recovery times.
|
||||
|
||||
The [Event Sourcing with Akka 2.6 video](https://akka.io/blog/news/2020/01/07/akka-event-sourcing-video)
|
||||
is a good starting point for learning Event Sourcing, and then followed by the
|
||||
[CQRS with Akka 2.6 video](https://akka.io/blog/news/2020/02/05/akka-cqrs-video).
|
||||
is a good starting point for learning Event Sourcing, together with the @extref[Microservices with Akka tutorial](platform-guide:microservices-tutorial/)
|
||||
that illustrates how to implement an Event Sourced CQRS application with Akka Persistence and Akka Projections.
|
||||
|
||||
@@@ note
|
||||
|
||||
|
|
@ -676,10 +676,8 @@ reference documentation of the chosen plugin.
|
|||
is an example project that can be downloaded, and with instructions of how to run.
|
||||
This project contains a Shopping Cart sample illustrating how to use Akka Persistence.
|
||||
|
||||
The Shopping Cart sample is expanded further in the
|
||||
@java[@extref[CQRS example project](samples:akka-samples-cqrs-java)]
|
||||
@scala[@extref[CQRS example project](samples:akka-samples-cqrs-scala)]
|
||||
sample. In that sample the events are tagged to be consumed by even processors to build other representations
|
||||
The Shopping Cart sample is expanded further in the @extref[Microservices with Akka tutorial](platform-guide:microservices-tutorial/).
|
||||
In that sample the events are tagged to be consumed by even processors to build other representations
|
||||
from the events, or publish the events to other services.
|
||||
|
||||
@java[@extref[Multi-DC Persistence example project](samples:akka-samples-persistence-dc-java)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue