Repolode
apache

apache/incubator-seata

Solução open source de transações distribuídas para microsserviços, com suporte aos modos AT, TCC, Saga e XA.

Estrelas
26,001
Forks
8,830
Issues abertas
911
Último commit
há 6 dias

O que é?

O Apache Seata é um framework de transações distribuídas para microsserviços. Quando uma operação de negócio envolve vários serviços, cada um com seu próprio banco de dados, uma única transação local já não consegue manter os dados consistentes entre eles. O Seata coordena essas transações de ramificação por meio de uma transação global, que pode ser confirmada ou revertida por inteiro.

O framework tem três funções: um Transaction Coordinator (TC), que acompanha o estado das transações globais e de ramificação e conduz a confirmação ou reversão; um Transaction Manager (TM), que define o escopo de uma transação global; e um Resource Manager (RM), que registra as ramificações e executa sua confirmação ou reversão. Um ID de transação global (XID) é propagado pela cadeia de chamadas entre serviços para que cada serviço possa participar da mesma transação.

O projeto é escrito em Java. Ele oferece a biblioteca seata-all para uso geral e o seata-spring-boot-starter para aplicações Spring Boot. Seu ecossistema também inclui um cliente Go, exemplos, integração com Kubernetes e uma CLI.

Recursos principais

  • 01Coordena transações globais entre vários microsserviços com propagação de XID.
  • 02Separa as funções em Transaction Coordinator, Transaction Manager e Resource Manager.
  • 03Oferece uma biblioteca Java (seata-all) e um starter para Spring Boot.
  • 04O ecossistema inclui um cliente Go, integração com Kubernetes e uma ferramenta CLI.

Casos de uso

  • Manter consistentes os dados de pedidos, pagamentos e estoque entre microsserviços separados.
  • Adicionar suporte a transações distribuídas a sistemas Java ou Spring Boot existentes.
  • Executar o Seata no Kubernetes como parte da implantação de microsserviços.

Início rápido

  1. 1

    Adicione a dependência Maven seata-all ou seata-spring-boot-starter (versão 2.5.0)

  2. 2

    Siga o guia oficial Quick Start para implantar o servidor Seata

Antes de usar

  • A execução de transações exige a implantação e operação de um servidor coordenador Seata separado.
  • No README, o projeto está listado como Apache Incubator (em incubação).

Tópicos

#distributed-transaction#microservice#java#spring-boot#saga#tcc#xa#at#consistency

Perguntas frequentes

O que é incubator-seata?
Solução open source de transações distribuídas para microsserviços, com suporte aos modos AT, TCC, Saga e XA. O Apache Seata é um framework de transações distribuídas para microsserviços. Quando uma operação de negócio envolve vários serviços, cada um com seu próprio banco de dados, uma única transação local já não consegue manter os dados consistentes entre eles. O Seata coordena essas transações de ramificação por meio de uma transação global, que pode ser confirmada ou revertida por inteiro.
incubator-seata é gratuito? Qual é a licença?
incubator-seata é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
incubator-seata ainda é mantido?
Manutenção ativa. O último commit de incubator-seata foi em 31 de out. de 2026.
Para que posso usar incubator-seata?
Manter consistentes os dados de pedidos, pagamentos e estoque entre microsserviços separados. Adicionar suporte a transações distribuídas a sistemas Java ou Spring Boot existentes. Executar o Seata no Kubernetes como parte da implantação de microsserviços.
Como instalar incubator-seata?
Adicione a dependência Maven seata-all ou seata-spring-boot-starter (versão 2.5.0) Siga o guia oficial Quick Start para implantar o servidor Seata
Onde consigo incubator-seata?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/apache/incubator-seata

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados