Реализация Spring Cloud для интеграции приложений Spring Cloud с Polaris от Tencent — системой обнаружения сервисов и управления ими.
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
Добавьте зависимость Maven seata-all или seata-spring-boot-starter (версия 2.5.0)
- 2
Следуйте официальному руководству Quick Start, чтобы развернуть сервер Seata
Что важно знать
- Для выполнения транзакций необходимо развернуть и обслуживать отдельный сервер-координатор Seata.
- В README проект указан как Apache Incubator (находится в инкубации).
Темы
Частые вопросы
- Что такое 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 обновляется ежедневно.
Похожие проекты
Solon — Java-фреймворк для корпоративных сервисов и более лёгкая альтернатива Spring, не зависящая от Servlet и Spring.
Высокопроизводительный минималистичный веб-фреймворк для Go на базе стандартного пакета net/http.
Мнениезависимый Go-фреймворк для микросервисов со встроенной поддержкой баз данных, observability, gRPC и настройками для Kubernetes.
Модульный фреймворк Go для приложений: HTTP-сервер, ORM, кэширование, логирование и трассировка. Можно использовать целиком или по компонентам.
RPC-фреймворк на Go для микросервисов с подключаемым обнаружением сервисов, разными транспортами и кодеками, а также доступом из других языков через HTTP.