Seata: простая расширяемая автономная архитектура транзакций
Что такое Seata?
Это решение для распределённых транзакций, которое отличается высокой производительностью и простотой использования в архитектуре микросервисов.
Проблема распределённой транзакции в микросервисах
Представьте себе традиционное монолитное приложение. Его бизнес состоит из трёх модулей, которые используют один локальный источник данных. Естественно, согласованность данных гарантируется локальной транзакцией.
В архитектуре микросервисов три упомянутых модуля представляют собой три сервиса, работающие с тремя разными источниками данных (шаблон «База данных на сервис»). Согласованность данных внутри каждого сервиса естественным образом обеспечивается локальной транзакцией.
Но как насчёт всей области бизнес-логики?
Как работает Seata
Seata — это решение проблемы, описанной выше.
Во-первых, что такое распределённая транзакция?
Мы говорим, что распределённая транзакция — это глобальная транзакция, которая состоит из пакета ветвящихся транзакций, а ветвящаяся транзакция обычно является локальной транзакцией.
Есть три роли в Seata Framework:
Типичный жизненный цикл управляемой Seata распределённой транзакции:
Для получения более подробной информации о принципе работы и дизайне перейдите на страницу вики Seata (https://github.com/apache/incubator-seata/wiki).
История
Alibaba:
— TXC: конструктор транзакций Taobao. Команда Alibaba middleware начала этот проект в 2014 году, чтобы решить проблемы распределённых транзакций, вызванные изменением архитектуры приложений с монолитной на микросервисы. — GTS: глобальный. Сервис транзакций TXC как продукт промежуточного программного обеспечения Aliyun с новым названием GTS был опубликован с 2016 года.
Fescar: с 2019 года мы начали проект с открытым исходным кодом Fescar на основе TXC/GTS, чтобы тесно сотрудничать с сообществом в будущем.
XTS: расширенный сервис транзакций. Команда промежуточного программного обеспечения Ant Financial разработала распределённое промежуточное программное обеспечение для транзакций, которое широко используется в Ant Financial и решает проблемы согласованности данных между базами данных и сервисами.
DTX: расширенная распределённая транзакция. С 2013 года XTS публикуется в облаке Ant Financial под именем DTX.
Seata: простая расширяемая автономная архитектура транзакций. Ant Financial присоединяется к Fescar, что делает его более нейтральным и открытым сообществом для распределённых транзакций, а Fescar переименовывается в Seata.
В зависимости от сценария выберите одну из двух зависимостей: io.seata:seata-all
или io.seata:seata-spring-boot-starter
.
<properties>
<seata.version>2.0.0</seata.version>
</properties>
<dependencies>
<!--зависимости для не-SpringBoot фреймворка приложения-->
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-all</artifactId>
<version>${seata.version}</version>
</dependency>
<!--Если ваш проект основан на Spring Boot, вы можете напрямую использовать следующие зависимости-->
<!--Обратите внимание: seata-spring-boot-starter уже включает зависимость seata-all-->
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>${seata.version}</version>
</dependency>
</dependencies>
Вы можете просмотреть полную документацию на официальном сайте Seata: страница сайта Seata.
Пожалуйста, следуйте шаблону для сообщения о любых проблемах.
Пожалуйста, не используйте наш общедоступный трекер проблем, обратитесь к нашей политике безопасности.
Добро пожаловать участникам проекта Seata. Пожалуйста, ознакомьтесь с CONTRIBUTING и CONTRIBUTING-CN, чтобы узнать, как внести свой вклад в этот проект.
Этот проект существует благодаря всем людям, которые вносят свой вклад. [Участники].
Seata находится под лицензией Apache 2.0. Подробнее см. в файле LICENSE.
Это лишь часть компаний, использующих Seata, только для справки. Если вы используете Seata, пожалуйста, добавьте свою компанию сюда, чтобы рассказать нам о вашем сценарии использования, чтобы сделать Seata лучше. Данный текст не содержит технических терминов или специфической информации из области разработки и тестирования программного обеспечения. Это просто список ссылок на изображения.
В тексте присутствуют только специальные символы, которые используются для форматирования HTML-кода. Они не имеют перевода и оставлены без изменений. Данный текст не содержит технической информации. Это список изображений с сайтов, их описание и атрибуты. ```
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )