Modularizando um Monólito com Recarregamento de Código Quente do Elixir

2025-07-12

Alzo, um monólito Elixir implantado como uma instância por cliente, utiliza o carregamento de código quente do Elixir e da VM Erlang para recursos específicos do cliente. Isso evita falhas em cascata e testes complexos de microsserviços. Aplicativos LiveView específicos do cliente residem em `/alzo/lib/clients/apps`, carregados dinamicamente na inicialização. O código do cliente é removido durante o processo de compilação, impedindo que o aplicativo principal dependa de aplicativos de tempo de execução. As atualizações de código quente são evitadas para simplificação. Essa abordagem fornece desenvolvimento eficiente, manutenibilidade, escalabilidade e a capacidade de refatorar facilmente funcionalidades comuns de aplicativos dinâmicos para o código base principal.