Wir fangen an, Kafka in einer Backend-Neuentwicklung zu verwenden und haben eine kurze Frage, wie wir die Nachrichten, die wir produzieren und konsumieren, strukturieren.Hinzufügen eines Typs zu Nachrichten in Kafka?
Stellen Sie sich vor, wir haben einen Benutzer-Microservice, der CRUD-Operationen für Benutzer abwickelt. Die zwei Strukturen, die als eine Möglichkeit vorgeschlagen wurden, sind:
1) Vier kafka Themen, eins für jede Operation. Der Nachrichtenwert enthalten würde nur die Daten benötigt, um die Operation durchzuführen, dh
topic: user_created
message value: {
firstName: 'john'
surname: 'smith'
}
topic: user_deleted
message value: c73035d0-6dea-46d2-91b8-d557d708eeb1 // A UUID
and so on
2) Ein einzelnes Thema für Veranstaltungen Benutzer im Zusammenhang mit einer Eigenschaft auf die Nachricht, die die Aktion beschreibt, genommen werden, sowie die Daten benötigt, dh
// User created
topic: user_events
message value: {
type: 'user_created',
payload: {
firstName: 'john'
surname: 'smith'
}
}
// User deleted
topic: user_events
message value: {
type: 'user_deleted',
payload: c73035d0-6dea-46d2-91b8-d557d708eeb1 // A UUID
}
ich bin für das erste System beschrieben, obwohl meine Unerfahrenheit mit Kafka mir unmöglich macht, stark zu argumentieren, warum. Wir würden jeden Input von erfahreneren Benutzern sehr schätzen.
Danke für deine Antwort. Die Architektur, die Sie beschreiben, klingt sehr ähnlich zu dem, was wir geplant haben. Sehr hilfreiche Informationen. –
Froh, dass es geholfen hat! –