Compartilhar via


Enfileiramento de mensagens transacionais

Uma transação é uma série de modificações de um armazenamento de dados (como um banco de dados ou um sistema de arquivos) garantidas para serem todas executadas com sucesso ou não serem executadas. Para implementar uma transação, um registro é mantido do estado do armazenamento de dados antes do início da transação e, se uma das modificações falhar, a transação retorna falha e o estado inicial é restaurado (ou revertido). As transações são usadas para manter a integridade dos dados e, consequentemente, desempenham um papel importante na programação de software de negócios.

Muitas vezes, os aplicativos podem ser desenvolvidos usando uma transação comercial ou fluxo de trabalho que é dividido em várias transações ou atividades menores. Essas atividades são separadas no tempo e, em seguida, conectadas usando filas de mensagens confiáveis.

  1. A primeira transação envolve o banco de dados de entrada de pedidos. O serviço de enfileiramento de mensagens move a mensagem de uma fila para outra, exatamente uma vez, usando recursos de transação. Se o banco de dados for atualizado, haverá uma mensagem na fila. Se a mensagem não chegar à fila, ela será anulada e o banco de dados será revertido.
  2. Algum tempo depois, o serviço de enfileiramento de mensagens descobre que o servidor está disponível. Não há sondagem de aplicativo para a existência do servidor. Esta é a segunda transação.
  3. A terceira transação envolve uma consulta ao banco de dados de remessa e a atualização do banco de dados de remessa. Se o servidor falhar no meio dessa transação, a modificação será revertida e a mensagem será retornada à fila de entrada. Isso garante que a integridade dos dados e bancos de dados seja mantida durante as transações.