Messaging

Uma implementação completa mensageria síncrona e assíncrona para uso de arquitetura de micro-serviços.

Disponíveis:

  • Kafka

  • Fake

Métodos:

Emit: É usado para enviar uma mensagem em um tópico. Ele é dinamicamente tipado e aceita qualquer estrutura de dados.

this.messagingProvider.emit('TOPIC', {
  user: { age: 18, name: 'John', surname: 'Doe' },
});

Listen: Espera por uma mensagem e, ao recebê-la, executa um callback (ou um array de callbacks, ele tem suporte para se comportar como middlewares do Express).

const userController = new UserController();

messagingProvider.listen('CREATE-USER', isAuthenticated, userValidator, userController.create);

SubscribeFrom: É usado para assinar uma resposta a um tópico (é usado em conjunto com o método "enviar").

class Controller {
  public constructor(
    private readonly messagingProvider: IMessagingProvider,
  ) {
    // Ele vai ouvir 'SEND-DATA.reply'
    this.messagingProvider.subscribeFrom('SEND-DATA');
  }
}

Send: É usado para enviar uma mensagem indexada e aguardar o retorno da mensagem em uma partição definida (tempo limite definido por observerTimeout), deve ser usado em conjunto com subscribeFrom.

Close: É usado para fechar a conexão com a mensageria.


Last updated