Spring CloudアプリケーションをTencentのPolarisと連携させ、サービスディスカバリーとガバナンスを実現するSpring Cloud実装です。
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
Maven の依存関係 seata-all または seata-spring-boot-starter(バージョン 2.5.0)を追加します
- 2
公式の Quick Start ガイドに従って Seata サーバーをデプロイします
使う前に知っておきたいこと
- トランザクションを実行するには、別途 Seata コーディネーターサーバーをデプロイして運用する必要があります。
- README では、プロジェクトは Apache Incubator(インキュベーション中)として記載されています。
トピック
よくある質問
- 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 の数値は毎日更新されます。
関連プロジェクト
Solonは、ServletやSpringに依存しない、Springより軽量なエンタープライズサービス構築向けJavaアプリケーションフレームワークです。
Go標準のnet/httpを基盤とする、高速で軽量なWebフレームワーク。
データベース、可観測性、gRPC、Kubernetes向けのデフォルト設定を組み込んだ、マイクロサービス構築用の独自の方針を持つGoフレームワーク。
HTTPサーバー、ORM、キャッシュ、ロギング、トレーシングを備え、フレームワーク全体でも個別コンポーネントでも使えるモジュール型Goアプリケーションフレームワーク。
プラグイン式のサービスディスカバリー、複数のトランスポートとコーデック、HTTP経由の多言語アクセスに対応した、マイクロサービス構築向けのGo RPCフレームワーク。