Update August 2012:
Die Akka documentation erheblich verbessert hat, und hat jetzt viele Details über das Design und Architektur.
Original-Antwort (Mai 2010)
In Bezug auf Akka, habe ich nicht ein Design-Dokument per se finden, aber die letzten Blog-Post-Serie "Thinking Asynchronous - Domain Modeling using Akka Transactors" von Debasish Ghosh sind nahe genug.
Hier sind einige der wichtigsten Punkte bei der Umsetzung ..
- Akka basieren auf der let-it-Crash-Philosophie. Sie können Supervisor-Hierarchien entwerfen, die für die Steuerung der Lebenszyklen Ihrer Akteure zuständig sind. [...]
- Konten ist das Handle zu einem
Map
, das in Redis erhalten wird. Hier speichern wir alle Konten, die die Kunden geöffnet haben, mit der Kontonummer. [...]
- Mit Akka können Sie auch einen Neustart-Hook bereitstellen, wenn das Repository abstürzt und automatisch vom Supervisor neu gestartet wird. postRestart ist der Hook, in dem wir die Map-Struktur neu initialisieren.
- Akka verwendet multiverse, eine Java-basierte STM-Implementierung für die Transaktionsverarbeitung. In der Codemarke kümmern sich Ihre Transaktionen mit
atomic{}
und dem zugrunde liegenden STM
um den Rest.