Pipeline
- Was sind die Varianten von Pipeline Muster?
- Push Pipeline: Pipeline A → B → C gegegen. In Push Pipeline, Stufe A triggert Stufe B und schickt die Daten. Element pusht Daten, die er verarbeiten will.
- Pull Pipeline: Pipeline A → B → C gegegen. In Pull Pipeline, Stufe C triggert Stufe B. Element pull die Daten, die er haben will.
- Parallel: Mehrere aktive Elemente
- Pipelines mit Filtering
- Pipeline mit Buffering
- Was muss ich beachten, wenn ich mehrere aktive Schritte in der Pipeline habe?
- Normalerweise benoetigen verschiedene Pipeline-Studen verschiedene Zeiten
- Man sollte Puffers zwischen Pipeline Stufen einbauen
- Und moegliecherweise die Ressourcen optimieren
- In idealfall muessen die Puffers nie leer sein (sonst wird ein Teil von Pipeline inaktiv) und nie voll sein (Pipeline stoppt oder Datenverlust).
- Client-Server
- Client-component requesting services
- Server-component offering services
- Kommunikation zwischen Client und Server, in der Regel kein Shared Channel
- Ressource werden jedem Server alloziert
- Peer to Peer
- Alle Komponente sind gleichberechtigte Aktore, die die Dienste anbieten und konsumieren (in der Realitaet aber nicht immer gleichberechtigt)
- Peer to Peer kann als Client-Server betrachtet werden, wo alle Clients gleichzeitig die Servers sind
- Kommunikation via Shared Channel
- Alle Peers verwenden die gemeinsamen Ressourcen
- Beispiel: Akka Aktors
- Blackboard
- Tafel
- Shared Memory zwischen vielen Prozessen
- Beispiel: Symboltabelle von Compiler
- Beispiel 2: Data Stores in Frontend, zB Vuex