Akka Flashcards

Actor Model

1
Q

Wie interagiert ein Actor Model?

A

Nur über asynchrone Nachrichten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Welche Vorteile bieten Actors gegenüber Futures?

A
  • Simple Abstraktion
  • Asynchron und nicht blockierend
  • Geringer Speicherverbrauch
  • Fehlertolerant
  • Ortstransparent
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wie funktioniert ein Actor?

A
  • Erstellt System von Threads die asynchron miteinander kommunizieren
  • Laufen parallel und verhindern somit blockieren
  • Arbeiten mit asynchronen Nachrichten (Message Driven)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welchen Nachteil haben Actors?

A
  • Sind untyped, also nicht fest deklariert
  • Compiler kann Probleem im voraus nicht erkennen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie lauten die vier Prinzipien des React Manifest?

A
  • Message Driven
  • Elastic
  • Resilient
  • Responsive
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was bedeutet Message Driven?

A
  • Loose coupling (statt tight coupling)
  • Isolation
  • Ortstransparenz
  • Nicht blockierende Kommunikation
  • Monitoring von Nachrichten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was bedeutet Elastic?

A
  • Stabilität unter verschiedenen Auslastungen
  • Ressourcen skalieren dynamisch anhand der aktuellen Anforderungen

Vorraussetzungen:

  • Kein zentrales Bottleneck
  • Möglichkeit Komponenten aufzuteilen zu replizieren
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was bedeutet Resilient?

A
  • Systeme laufen weiter bei Fehler
  • Client muss sich nicht um Fehlerbehandlung kümmern

Umsetzung:

  • Containment: Betrifft wenn, nur eine Komponente
  • isolation: Komponenten sind voneinander isoliert
  • Delegation: Weitergeben von Aufgabe an andere Komponenten
  • Replication: Replizieren der Komponente, falls nötig
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was bedeutet Responsive?

A
  • System reagiert in angemessener Zeit
  • Schnelle Reaktionszeiten
  • Qualität des Services bleibt stabil
  • Frühe Erkennung und schnelle Behandlung von Problemen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Implementierung von Actor in Scala

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Actor anlegen in Actor System

A
import akka.actor.ActorRef;
import akka.actor.ActorSystem;
// ActorSystem is a heavy object: create only one per application
final ActorSystem system = ActorSystem.create("MySystem");
final ActorRef myActor = system.actorOf(Props.create(MyUntypedActor.class),
"myactor");
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie funktioniert das Messaging bei Actors?

A
  • Actor nur per Nachricht erreichbar
  • Actors laufen voll nebenläufig
  • Nachrichten werden sequentiell empfangen (single threaded)
  • Nachrichten werden atomar und vollständig ausgeführt, bevor die nächste Nachricht verabeitet wird
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

WEr ist der Guardian Actor in einem Actor System?

A

Der sogenannte user

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Woher kennt ein Actor die Referenz zu einem Sender?

A
  • Er erhält sie (den ActorPath) per Laufzeit in der ActorRef
  • Der ActorPath weisst auf einen (möglicherweise vorhandenen) Actor

ActorPath (lokal): akka://Main/user/parent/child/grandchild

ActorPath (remote): akka.tcp//Main@10.1.2.3:7777/user/parent/child/grandchild

How well did you know this?
1
Not at all
2
3
4
5
Perfectly