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
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…