As melhores práticas para imóveis com vários inquilinos podem ser contraproducentes.

  • por Derek Comartin
  • Publicado em Derek Comartin (CodeOpinion)
  • Selecionado em
  • Architecture
As melhores práticas para imóveis com vários inquilinos podem ser contraproducentes. - Derek Comartin (CodeOpinion)
Imagem: Derek Comartin (CodeOpinion)

Tem um sistema multi-inquilino, mas descobre um bug terrível. Como é possível? Seguiu todas as melhores práticas!

A sua API HTTP coloca uma mensagem numa fila para gerar uma fatura. Um processo de fundo recebe esta mensagem e executa-a. Tudo parece ter funcionado corretamente. Não houve exceções, falhas nas chamadas à base de dados ou erros nos seus registos.

No entanto, algo correu terrivelmente mal.

O pedido deveria ser executado para o locatário A, mas o que aconteceu na realidade foi que foi executado para o locatário B. O locatário errado.

YouTube

Espreitem o meu canal de YouTube , onde publico diversos conteúdos sobre Arquitetura e Design de Software, incluindo este vídeo que aborda tudo o que foi referido nesta publicação.

Provavelmente, tentou evitar que isso acontecesse desde o início. Talvez tenha decidido, por projeto, que não queria o ID do tenant espalhado por todo o lado e a ser transmitido da sua API HTTP para mensagens, tarefas de fundo e a sua base de dados…