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.