Go e Temporal: Workflows Resilientes e Duráveis
Construa workflows resilientes com Temporal em Go. Aprenda about retries, sagas, signals e padrões de orquestração de processos distribuídos.
Go e Temporal: Workflows Resilientes e Duráveis
Temporal é uma plataforma de orquestração de workflows que permite criar processos de negócio resilientes, duráveis e escaláveis. Desenvolvido pelos criadores do Cadence (Uber), é amplamente adotado por empresas como Netflix, Stripe e Shopify.
Neste guia, você aprenderá a construir workflows complexos em Go com garantias de execução, retries automáticos e compensação (Saga pattern).
Índice
- Conceitos Fundamentais
- Configuração do Ambiente
- Primeiro Workflow
- Activities e Retries
- Saga Pattern
- Signals e Queries
- Timers e Cron Jobs
- Padrões Avançados
Conceitos Fundamentais
Arquitetura Temporal
┌─────────────────────────────────────────────────────────────┐
│ Temporal Server │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Frontend │ │ History │ │ Matching │ │
│ │ (gRPC) │ │ (Events) │ │ (Tasks) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ Persistence: PostgreSQL / MySQL / Cassandra / Elasticsearch│
└─────────────────────────────────────────────────────────────┘
│
│ gRPC
▼
┌─────────────────────────────────────────────────────────────┐
│ Workers (Go) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Workflow │ │ Activity │ │ Activity │ │
│ │ Engine │ │ Executor │ │ Executor │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ Workflows são determinísticos (replayable) │
│ Activities contêm side-effects (I/O, APIs) │
└─────────────────────────────────────────────────────────────┘
Conceitos Chave
Workflows: Funções Go que definem a lógica de negócio. São determinísticas e podem ser “replayed” indefinidamente.