O Problema Que Ninguém Quer Admitir
Toda arquitetura de microserviços Spring Boot começa com a mesma promessa: serviços independentes, deploys isolados, times autônomos. E toda vez, o primeiro mês inteiro se perde nas mesmas decisões.
Como aplicar Onion Architecture num time que está crescendo? Onde fica a tabela de Outbox? Como estruturar domain events sem cair na armadilha do Dual Write? Qual o ciclo de TDD correto nessa stack?
A resposta padrão: montar a fundação juntando blog posts, palestras e threads do Stack Overflow. Semana 1 debatendo estrutura de pacotes. Semana 2 discutindo schema de eventos. Semana 3 redesenhando o que a semana 1 decidiu. E repetir tudo no próximo serviço.
Para startups, esse custo é existencial. Cada sprint gasto debatendo estrutura de projeto é runway queimando sem uma linha de negócio entregue.
Você não precisa de mais uma opinião sobre arquitetura. Precisa de uma implementação de referência que já tomou as decisões difíceis.
3 Serviços. . Zero Debate Sobre Estrutura.
O kit entrega três serviços completamente implementados, 21 decisões arquiteturais documentadas e enforcement automático de arquitetura — tudo pronto para rodar no primeiro clone.
Três Serviços de Referência Prontos para Produção
Order Service, Inventory Service e Payment Service. Completamente implementados. Cada um é um único módulo Maven com Onion Architecture baseada em pacotes — domain/, infrastructure/, api/ — reforçada por ArchUnit. Domain models reais, use cases como classes @Service, ports e adapters de repositório e testes de integração. Não é scaffolding.
Stack: Java 25 + Spring Boot 4.0 + PostgreSQL 16 + Maven + Jib
Seu time escreve lógica de domínio no dia um. Sem cerimônia de multi-módulo, sem camadas wrapper em volta dos use cases. Um pom.xml por serviço, fronteiras claras por pacote, e o build falha se alguém quebrar a arquitetura.
Transactional Outbox Pattern
O Dual Write é o bug silencioso que destrói consistência em arquiteturas event-driven. O Mars Enterprise Kit PRO resolve isso na fundação: eventos são gravados em uma tabela de outbox dentro da mesma transação de banco de dados que os dados de domínio. Um publisher dedicado com SKIP LOCKED polling lê o outbox e publica downstream.
Se a transação faz rollback, o evento nunca é publicado. Simples assim.
Consistência por design. Não por sorte, não por retry, não por "funciona na maioria das vezes".
— Decisões Documentadas
Por que Onion Architecture. Por que esse schema de evento. Por que SKIP LOCKED e não polling simples. Por que esses patterns de teste. Cada decisão arquitetural relevante está documentada em ADR — com contexto, alternativas consideradas e consequências aceitas.
Os ADRs não são documentação retroativa. São parte do produto.
Engenheiros sêniors compram implementações de referência pelos patterns. Tech leads compram pelas decisões já documentadas e defendidas.
TDD Garantido por Testes de Arquitetura
O codebase se protege sozinho. ArchUnit valida fronteiras de pacotes, direção de dependências (domain não depende de JPA/Kafka/Web) e regras estruturais (repositórios como interfaces, use cases como @Service) em cada build. Quando alguém desvia da arquitetura, o test suite captura na hora — não uma code review duas semanas depois.
Novos engenheiros entram no projeto com segurança. A arquitetura se impõe por testes, não por pessoas.
CI/CD e Desenvolvimento Local
GitHub Actions com validação de arquitetura no pipeline — não apenas build e lint, mas ArchUnit e testes de integração rodando em cada PR. Docker Compose por serviço. TestContainers para testes de integração idênticos no ambiente local e no CI.
Primeiro deploy em horas, não semanas.
Claude Code Commands e Agents
IA integrada na estrutura do projeto — não como plugin externo, mas como parte da arquitetura. Agents do Claude Code para entender o codebase, gerar scaffolding de bounded context e rodar smoke tests com consciência arquitetural.
Scaffold de novos bounded contexts (pacotes domain, infrastructure, api) em minutos, não dias.
De Zero a Produção em Dias
Montar um template de microserviço Java pronto para produção do zero — com arquitetura event-driven Spring Boot consistente, pipeline funcionando, testes de integração e documentação de decisões — leva meses num time novo.
O Mars Enterprise Kit PRO elimina essa fase inteira.
O boilerplate está resolvido. As decisões arquiteturais estão tomadas e documentadas. O ferramental de CI, testes e IA já está configurado. Você não está economizando dias — está eliminando semanas de trabalho que nunca entregaram valor de negócio.
A fundação está pronta. O que falta é o seu domínio.
Para Quem É
Engenheiros Java sêniors e tech leads que constroem sistemas event-driven na JVM. Você já fez deploy de microserviços. Sabe o que é o problema do Dual Write. Já teve os debates de arquitetura — e quer uma referência que já tomou as decisões e documentou o porquê. Não é tutorial. É o codebase que você queria ter tido desde o início.
CTOs e tech leads de startups que precisam de uma base arquitetural sólida sem o custo de construí-la do zero. Você sabe que vai precisar de arquitetura event-driven — mas não tem três meses para montar a fundação. Essa fundação já está pronta.
Acesso Antecipado
Mars Enterprise Kit PRO está em desenvolvimento ativo. O acesso antecipado dá a você tudo que está construído agora, mais cada fase conforme for entregue — pelo preço de acesso antecipado.
O que está vindo:
- Fase 1 — Orquestração SAGA entre os 3 serviços + integração Kafka/Redpanda (em andamento)
- Fase 2 — Distributed tracing com OpenTelemetry + extração de bibliotecas compartilhadas
- Fase 3 — Template Golden Chassis (módulo único, baseado em pacotes) + gerador de scaffold
mars-cli - Fase 4 — Helm charts + autoscaling com KEDA para Kubernetes
Quem entra agora recebe todas as fases. O preço de acesso antecipado não se repete.
Explore Mais
Mars Enterprise Kit Lite (Open Source)
A versão Lite é gratuita e open source. Cobre os fundamentos de Event-Driven Architecture com Spring Boot, Kafka e PostgreSQL usando Onion Architecture.