Repolode
apache

apache/incubator-seata

Solución de código abierto para transacciones distribuidas en microservicios, compatible con los modos AT, TCC, Saga y XA.

Estrellas
26,001
Forks
8,830
Issues abiertos
911
Último commit
hace 7 días

¿Qué es?

Apache Seata es un framework de transacciones distribuidas para microservicios. Cuando una operación de negocio abarca varios servicios con sus propias bases de datos, una única transacción local ya no puede mantener la coherencia de los datos entre ellos. Seata coordina estas transacciones de rama mediante una transacción global que puede confirmarse o revertirse en conjunto.

El framework tiene tres roles: un Transaction Coordinator (TC), que sigue el estado de las transacciones globales y de rama y dirige su confirmación o reversión; un Transaction Manager (TM), que define el alcance de una transacción global; y un Resource Manager (RM), que registra las ramas y ejecuta su confirmación o reversión. Se propaga un identificador de transacción global (XID) a lo largo de la cadena de llamadas entre servicios para que cada servicio pueda participar en la misma transacción.

El proyecto está escrito en Java. Ofrece la biblioteca seata-all para uso general y seata-spring-boot-starter para aplicaciones Spring Boot. Su ecosistema también incluye un cliente Go, ejemplos, integración con Kubernetes y una CLI.

Funciones clave

  • 01Coordina transacciones globales entre varios microservicios mediante la propagación de XID.
  • 02Separa las funciones en Transaction Coordinator, Transaction Manager y Resource Manager.
  • 03Ofrece una biblioteca Java (seata-all) y un starter para Spring Boot.
  • 04El ecosistema incluye un cliente Go, integración con Kubernetes y una herramienta CLI.

Casos de uso

  • Mantener la coherencia de los datos de pedidos, pagos e inventario entre microservicios independientes.
  • Añadir compatibilidad con transacciones distribuidas a sistemas Java o Spring Boot existentes.
  • Ejecutar Seata en Kubernetes como parte de un despliegue de microservicios.

Inicio rápido

  1. 1

    Añade la dependencia de Maven seata-all o seata-spring-boot-starter (versión 2.5.0)

  2. 2

    Sigue la guía oficial Quick Start para desplegar el servidor Seata

Antes de usarlo

  • Para ejecutar transacciones, es necesario desplegar y operar un servidor coordinador de Seata independiente.
  • En el README, el proyecto figura como Apache Incubator (en incubación).

Temas

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

Preguntas frecuentes

¿Qué es incubator-seata?
Solución de código abierto para transacciones distribuidas en microservicios, compatible con los modos AT, TCC, Saga y XA. Apache Seata es un framework de transacciones distribuidas para microservicios. Cuando una operación de negocio abarca varios servicios con sus propias bases de datos, una única transacción local ya no puede mantener la coherencia de los datos entre ellos. Seata coordina estas transacciones de rama mediante una transacción global que puede confirmarse o revertirse en conjunto.
¿incubator-seata es gratuito? ¿Qué licencia tiene?
incubator-seata es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿incubator-seata sigue mantenido?
Mantenimiento activo. El último commit de incubator-seata fue el 31 oct 2026.
¿Para qué puedo usar incubator-seata?
Mantener la coherencia de los datos de pedidos, pagos e inventario entre microservicios independientes. Añadir compatibilidad con transacciones distribuidas a sistemas Java o Spring Boot existentes. Ejecutar Seata en Kubernetes como parte de un despliegue de microservicios.
¿Cómo se instala incubator-seata?
Añade la dependencia de Maven seata-all o seata-spring-boot-starter (versión 2.5.0) Sigue la guía oficial Quick Start para desplegar el servidor Seata
¿Dónde consigo incubator-seata?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/apache/incubator-seata

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados