Matheus Castiglioni

Aviso

A partir de 10/02/2022 o blog foi descontinuado em favor ao meu canal no youtube, ou seja, não haverá novas publicações.

Irei dedicar e focar exclusivamente no meu canal para criação e compartilhamento de conteúdo, se você tem interesse em continuar me acompanhando peço por favor que se inscreva no canal.

Eventos de Domínio vs Integração

Anteriormente falamos sobre Arquiteturas orientadas à eventos, nela vimos como criar arquiteturas que sejam escaláveis e tenham suas partes desacopladas e autônomas.

Mas, quando falamos de eventos, podemos pensar em dois tipos: Eventos de domínio e Eventos de integração. Porém, quando e porque utilizar um tipo ou outro?

Eventos de domínio

Eventos de domínio englobam operações baseadas em CRUD ou propriedades, dessa forma, geralmente são utilizados para realizar notificações dentro do seu contexto, eles não podem ser ouvidos por partes fora da barreira e sim apenas dentro do seu contexto em si. Exemplos: ProductUpdated, AgeUpated, NameChanged, OrderCanceled, etc…

Eventos de integração

Já os eventos de integração como o próprio nome diz, englobam operações comportamentais de um fluxo de negócio, dessa forma, geralmente são utilizados para realizar propagação de informações ou dados, eles não devem ser ouvidos por partes de dentro do seu contexto, apenas por partes integrantes entre diferentes contextos como forma de integrá-los (realizar uma comunicação entre si de forma desacoplada). Exemplos: InventoryAdjusted, EmployeeOnboarded, PaymentConfirmed, ProductOnPromotion, etc…

Conclusão

Nesse post conhecemos dois tipos de eventos (Eventos de domínio e eventos de integração), entendemos suas diferenças, motivações e casos de usos. Assim você consegue decidir quando utilizar um ou outro tipo para emissão de eventos.

Abraços, até a próxima.

Matheus Castiglioni

Matheus Castiglioni

Apaixonado pelo mundo dos códigos e um eterno estudante, gosto de aprender e saber um pouco de tudo, aquela curiosidade de saber como tudo funciona, tento compartilhar o máximo de conhecimentos adquiridos e ajudar todos aqueles que sou capaz.

comments powered by Disqus