Repolode
apache

apache/incubator-seata

Open-source решение для распределённых транзакций в микросервисах с поддержкой режимов AT, TCC, Saga и XA.

Звёзды
26,001
Форки
8,830
Открытые issues
911
Последний коммит
7 дней назад

Что это?

Apache Seata — фреймворк распределённых транзакций для микросервисов. Когда бизнес-операция охватывает несколько сервисов со своими базами данных, одной локальной транзакции уже недостаточно, чтобы обеспечить согласованность данных между ними. Seata координирует эти транзакции-ветви в рамках глобальной транзакции, которую можно целиком зафиксировать или откатить.

У фреймворка три роли: Transaction Coordinator (TC) отслеживает состояние глобальных транзакций и транзакций-ветвей, а также запускает фиксацию или откат; Transaction Manager (TM) задаёт область глобальной транзакции; Resource Manager (RM) регистрирует ветви и выполняет их фиксацию или откат. Глобальный идентификатор транзакции (XID) передаётся по цепочке вызовов сервисов, чтобы каждый из них мог присоединиться к одной и той же транзакции.

Проект написан на Java. Для общего использования доступна библиотека seata-all, а для приложений Spring Boot — seata-spring-boot-starter. В экосистему также входят Go-клиент, примеры, интеграция с Kubernetes и CLI.

Ключевые возможности

  • 01Координирует глобальные транзакции между несколькими микросервисами с передачей XID.
  • 02Разделяет роли между Transaction Coordinator, Transaction Manager и Resource Manager.
  • 03Предоставляет библиотеку Java (seata-all) и стартер для Spring Boot.
  • 04В экосистему входят Go-клиент, интеграция с Kubernetes и CLI-инструмент.

Сценарии использования

  • Поддержание согласованности данных о заказах, платежах и запасах в отдельных микросервисах.
  • Добавление поддержки распределённых транзакций в существующие системы на Java или Spring Boot.
  • Запуск Seata в Kubernetes в составе развёртывания микросервисов.

Быстрый старт

  1. 1

    Добавьте зависимость Maven seata-all или seata-spring-boot-starter (версия 2.5.0)

  2. 2

    Следуйте официальному руководству Quick Start, чтобы развернуть сервер Seata

Что важно знать

  • Для выполнения транзакций необходимо развернуть и обслуживать отдельный сервер-координатор Seata.
  • В README проект указан как Apache Incubator (находится в инкубации).

Темы

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

Частые вопросы

Что такое incubator-seata?
Open-source решение для распределённых транзакций в микросервисах с поддержкой режимов AT, TCC, Saga и XA. Apache Seata — фреймворк распределённых транзакций для микросервисов. Когда бизнес-операция охватывает несколько сервисов со своими базами данных, одной локальной транзакции уже недостаточно, чтобы обеспечить согласованность данных между ними. Seata координирует эти транзакции-ветви в рамках глобальной транзакции, которую можно целиком зафиксировать или откатить.
incubator-seata можно использовать бесплатно? Какая у него лицензия?
incubator-seata распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
incubator-seata всё ещё поддерживается?
Активно поддерживается. Последний коммит в incubator-seata — 31 окт. 2026 г..
Для чего можно использовать incubator-seata?
Поддержание согласованности данных о заказах, платежах и запасах в отдельных микросервисах. Добавление поддержки распределённых транзакций в существующие системы на Java или Spring Boot. Запуск Seata в Kubernetes в составе развёртывания микросервисов.
Как установить incubator-seata?
Добавьте зависимость Maven seata-all или seata-spring-boot-starter (версия 2.5.0) Следуйте официальному руководству Quick Start, чтобы развернуть сервер Seata
Где скачать incubator-seata?
Исходный код и инструкции по установке — на GitHub: https://github.com/apache/incubator-seata

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Модульный фреймворк Go для приложений: HTTP-сервер, ORM, кэширование, логирование и трассировка. Можно использовать целиком или по компонентам.

13,3 тыс.+9 за неделю1,7 тыс.GoMITАктивно поддерживаетсяОбновлён вчера