Orquestração de Sagas para Java
Gerencie transações distribuídas com compensação automática, retry inteligente e observabilidade em tempo real. Construído para sistemas críticos.
@Saga("pix-payment")
public class PixPaymentSaga implements SagaDefinition<PixContext> {
@Override
public SagaFlow<PixContext> define(SagaBuilder<PixContext> saga) {
return saga
.step("validate-dict")
.invoke(this::validateDict)
.compensate(this::invalidateDict)
.step("block-balance")
.invoke(this::blockBalance)
.compensate(this::unblockBalance)
.step("transmit-to-bacen") // PIVOT — sem compensação
.invoke(this::transmitToBacen)
.retry(exponential(3, Duration.ofSeconds(1)))
.build();
}
}Veja cada saga, em tempo real
O dashboard embutido é a sua lente de debug — feed ao vivo, timeline de steps, retry queue, dead letters e métricas por tipo de saga. Tudo na porta que você escolher.

Compensação automática
Se qualquer step falhar, o Sagaweaw executa as compensações em ordem inversa — automaticamente. Nenhum dado fica para trás.
- ✓ Retry exponencial, fixo ou infinito por step
- ✓ Estado durável — sobrevive a crashes e restarts
- ✓ Pivot point — ponto de não retorno configurável
- ✓ Dead letters para intervenção manual cirúrgica
Uma lente de debug, não só monitoramento
Use o Grafana para observabilidade de produção em escala. Use o Sagaweaw Dashboard para inspecionar o que está acontecendo agora.

Acompanhe cada saga em execução, filtre por status ou nome e veja o retry queue em tempo real.

Inspecione tentativas, erros, compensações e timestamps de cada step individualmente.

Dead letters com stack trace, snapshot de contexto e botão de reprocessamento direto na UI.
Tudo que você precisa para transações distribuídas
Construído com base em decisões arquiteturais sólidas e padrões de mercado comprovados.
Orquestração Centralizada
Controle total do fluxo com um coordenador central. Cada saga sabe exatamente onde está e qual o próximo passo.
Compensação Automática
Quando algo falha, o Sagaweaw executa as compensações em ordem inversa automaticamente. Rollback garantido.
Dashboard em Tempo Real
Feed ao vivo, timeline de steps, retry queue, dead letters e métricas por tipo de saga em uma única UI.
Retry Inteligente
Políticas de retry configuráveis: exponential, fixed ou infinite. Cada step pode ter sua própria estratégia.
Persistência Durável
Estado persistido no banco que você já tem. PostgreSQL, MySQL ou H2 — sem Redis, sem infraestrutura nova.
Fluent API
DSL elegante e type-safe. Defina seus passos de forma declarativa com invoke(), compensate() e retry().
De mão dadas com o que você já usa
Nenhuma nova ferramenta para aprender. Métricas no Prometheus, logs com MDC enriquecido, banco de dados que você já tem. Zero nova infraestrutura.
Adicione spring-boot-starter-actuator + micrometer-registry-prometheus e as métricas aparecem em /actuator/prometheus automaticamente. Ver documentação →
Tipos de Steps com Inferência Automática
O Sagaweaw infere automaticamente o tipo de cada step baseado na sua definição.
Pode ser desfeito em caso de falha posterior.
.step("block-balance")
.invoke(this::block)
.compensate(this::unblock)Ponto de não retorno. Sem compensação definida.
.step("transmit-to-bacen")
.invoke(this::transmit)
// sem .compensate() = PIVOTRetry infinito e sem compensação. Deve sempre ter sucesso.
.step("send-notification")
.invoke(this::notify)
.retry(infinite())Ciclo de Vida da Saga
Cada saga passa por estados bem definidos, garantindo rastreabilidade completa.
Comece em 3 passos
Integração simples com Spring Boot. Sem configuração complexa.
Adicione a dependência
sagaweaw-spring-boot-starterCrie sua Saga
@Saga + SagaDefinition<T>Dispare!
sagaManager.start(context)Pronto para orquestrar suas sagas?
Comece gratuitamente. Sem lock-in. Sem servidor externo.