2 votes

Ajouter un type aux messages dans Kafka ?

Nous commençons à utiliser Kafka dans le cadre d'un redéveloppement du backend, et nous avons une petite question sur la façon de structurer les messages que nous produisons et consommons.

Imaginons que nous ayons un microservice utilisateur qui gère les opérations CRUD sur les utilisateurs. Les deux structures qui ont été présentées comme une possibilité sont :

1) Quatre sujets kafka, un pour chaque opération. La valeur du message contiendrait juste les données nécessaires pour effectuer l'opération, c'est-à-dire

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) Un sujet unique pour les événements liés à l'utilisateur, avec une propriété sur le message décrivant l'action à entreprendre, ainsi que les données nécessaires, à savoir

// 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
}

Je suis en faveur du premier système décrit, bien que mon inexpérience de Kafka me rende incapable d'argumenter fortement pourquoi. Nous apprécierions grandement toute contribution d'utilisateurs plus expérimentés.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X