Fomos defensoras iniciais dos microservi?os e observamos o padr?o sendo usado com sucesso em in¨²meros sistemas, mas tamb¨¦m vimos os microservi?os sendo mal aplicados e abusados, muitas vezes como resultado do desejo de seguir a tend¨ºncia de microservi?os envy. Em vez de iniciar um novo sistema com uma cole??o de processos separadamente implantados separadamente, geralmente ¨¦ recomend¨¢vel come?ar com um monolito bem dimensionado e s¨® separar unidades implant¨¢veis ??separadamente quando a aplica??o atingir uma escala em que os benef¨ªcios dos microservi?os compensem a complexidade adicional inerente aos sistemas distribu¨ªdos. Recentemente, vimos um ressurgimento do interesse por essa abordagem e uma defini??o mais detalhada do que constitui exatamente um monolito bem dimensionado. ¨¦ um framework que ajuda a estruturar seu c¨®digo de uma forma que facilite a separa??o em microservi?os quando for a hora certa. Ele fornece uma maneira de modularizar seu c¨®digo para que os conceitos l¨®gicos de dom¨ªnios e contexto delimitados estejam alinhados com os conceitos f¨ªsicos de arquivos e estrutura de pacotes. Esse alinhamento torna mais f¨¢cil refatorar o monolito quando necess¨¢rio e testar dom¨ªnios de forma isolada. Spring Modulith fornece um mecanismo interno de processamento de eventos que ajuda a desacoplar ainda mais os m¨®dulos dentro de um ¨²nico aplicativo. O melhor de tudo ¨¦ que ele se integra ao ArchUnit e ao para automatizar a verifica??o de suas regras de design orientado a dom¨ªnio.

