Repolode
apache

apache/incubator-seata

AT、TCC、Saga、XAに対応する、マイクロサービス向けのオープンソース分散トランザクションソリューション。

スター
26,001
フォーク
8,830
未解決の Issue
911
最終コミット
6 日前

これは何?

Apache Seataは、マイクロサービス向けの分散トランザクションフレームワークです。各サービスが独自のデータベースを持つ環境で、1つの業務処理が複数のサービスにまたがると、単一のローカルトランザクションではデータの一貫性を保てません。Seataは、全体としてコミットまたはロールバックできるグローバルトランザクションを通じて、各ブランチトランザクションを調整します。

フレームワークは3つの役割で構成されます。グローバルトランザクションとブランチトランザクションの状態を追跡し、コミットまたはロールバックを指示するTransaction Coordinator(TC)、グローバルトランザクションの範囲を定義するTransaction Manager(TM)、ブランチを登録してコミットまたはロールバックを実行するResource Manager(RM)です。グローバルトランザクションID(XID)はサービス呼び出しチェーンに沿って渡され、各サービスが同じトランザクションに参加できるようにします。

プロジェクトはJavaで書かれています。汎用のseata-allライブラリと、Spring Bootアプリケーション向けのseata-spring-boot-starterを提供しており、エコシステムにはGoクライアント、サンプル、Kubernetes連携、CLIが含まれます。

主な機能

  • 01XIDを伝播させ、複数のマイクロサービスにまたがるグローバルトランザクションを調整します。
  • 02Transaction Coordinator、Transaction Manager、Resource Managerの3つの役割に分かれています。
  • 03Javaライブラリ(seata-all)とSpring Bootスターターを提供します。
  • 04エコシステムにはGoクライアント、Kubernetes連携、CLIツールが含まれます。

ユースケース

  • 別々のマイクロサービスに分かれた注文、決済、在庫データの一貫性を保つ。
  • 既存のJavaまたはSpring Bootシステムに分散トランザクション対応を追加する。
  • マイクロサービスのデプロイ環境の一部として、Kubernetes上でSeataを実行する。

クイックスタート

  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 とは?
AT、TCC、Saga、XAに対応する、マイクロサービス向けのオープンソース分散トランザクションソリューション。 Apache Seataは、マイクロサービス向けの分散トランザクションフレームワークです。各サービスが独自のデータベースを持つ環境で、1つの業務処理が複数のサービスにまたがると、単一のローカルトランザクションではデータの一貫性を保てません。Seataは、全体としてコミットまたはロールバックできるグローバルトランザクションを通じて、各ブランチトランザクションを調整します。
incubator-seata は無料で使えますか?ライセンスは?
incubator-seata は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
incubator-seata は今もメンテナンスされていますか?
活発にメンテナンス中。incubator-seata の最終コミットは 2026年10月31日 です。
incubator-seata は何に使えますか?
別々のマイクロサービスに分かれた注文、決済、在庫データの一貫性を保つ。 既存のJavaまたはSpring Bootシステムに分散トランザクション対応を追加する。 マイクロサービスのデプロイ環境の一部として、Kubernetes上でSeataを実行する。
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 をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト