README.md 2.17 KB
Newer Older
Nane Kratzke's avatar
Nane Kratzke committed
1
# Lab 10: Messaging-basierte Interaktion
Nane Kratzke's avatar
Nane Kratzke committed
2

Nane Kratzke's avatar
Nane Kratzke committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Wir werden Messaging am Beispiel von Redis demonstrieren. Wir nutzen Redis, weil dies einfach zu deployen ist und bereits an anderen Stellen in Labs verwendet wurde und wir so den Technologiestack übersichtlich und die Komplexität überschaubar halten können. Redis wurde zwar primär als In-Memory Key-Value Datenbank entwickelt, doch hat mittlerweile sowohl Publish-Subscribe als auch Queueing Features erhalten, die für einfache Anwendungsfälle durchaus ausreichend sind. Als Messaging-Komponenten werden in Cloud-nativen Systemen häufig "klassische" Lösungen wie bspw. [Kafka](https://kafka.apache.org), [Nats](https://nats.io), [RabbitMQ](https://www.rabbitmq.com), [ActiveMQ](https://activemq.apache.org) und weitere [AMQP](https://www.amqp.org)- oder [MQTT](https://mqtt.org)-konforme Lösungen verwendet. Die in diesem Lab am Beispiel von Redis vermittelten Prinzipien sind aber durchaus auf diese Systeme übertragbar.

## Inhalt

- [Lab 10: Messaging-basierte Interaktion](#lab-10-messaging-basierte-interaktion)
  - [Inhalt](#inhalt)
  - [Vorbereitung](#vorbereitung)
  - [Übung 01: Pub/Sub Messaging (Fan Out)](#übung-01-pubsub-messaging-fan-out)
  - [Übung 02: Queueing](#übung-02-queueing)
  - [Verständnis- und Transferfragen](#verständnis--und-transferfragen)
  - [Links](#links)
  - [Was sollten Sie mitnehmen](#was-sollten-sie-mitnehmen)

## Vorbereitung

## Übung 01: Pub/Sub Messaging (Fan Out)

```
              +--M3,M2,M1-> C
              |
P --M3,M2,M1--+--M3,M2,M1-> C
              |
              +--M3,M2,M1-> C
```

## Übung 02: Queueing

```
                 +--M4,M1-> C2
                 |
P --M4,M3,M2,M1--+-----M2-> C3
                 |
                 +-----M3-> C4
```

## Verständnis- und Transferfragen

- A
- B
- C

## Links

- [Redis](https://redis.io)
- [Introduction to Redis Streams](https://redis.io/topics/streams-intro)
- Weitere Messaging Lösungen wie [Kafka](https://kafka.apache.org), [Nats](https://nats.io), [RabbitMQ](https://www.rabbitmq.com), [ActiveMQ](https://activemq.apache.org)
- Messaging Standards wie [AMQP](https://www.amqp.org) und [MQTT](https://mqtt.org)

## Was sollten Sie mitnehmen

- A
- B
- C