Hitachi

Hitachi Microservices Platform - Paxos Commit Transaction Orchestrator ユーザーズガイド


付録D HMP-PCTOで使用する用語

ここでは、HMP-PCTOで使用する用語について説明します。

表D‒1 用語解説

用語

説明

3/4合意

  • ThreeQuarters合意のこと

  • 「よんぶんのさんごうい」と呼ぶ

BranchQualifier

  • トランザクション内のブランチを一意に識別するための識別子

  • X/Openトランザクション識別子XID構造のJavaマッピングのBranchQualifier

Consensus Acceptor

  • リソース更新可否の決着結果の永続化機能のこと

  • Termination Judgeから通知された投票結果を永続化したあと、投票結果を、Consensus Learnerに通知する機能を持つ

Consensus Learner

  • 分散合意習得(機能)のこと

  • 複数のMediatorの合意を習得し(受信し)、一貫した合意結果を得る機能

  • Participant内の機能の一つ

ConsensusId

  • 分散合意処理のレイヤでトランザクションを一意にするための識別子

  • RootXIDを文字列化して生成する

ConsensusLog

Mediatorで保持しているリソース更新可否の決着結果

DB Adaptor

  • データベースアダプタのこと

  • アプリケーションの要求に従ってリソースへのSQL実行やX/Openで規定するXA仕様に則ったXAインタフェース実行を行う機能を持つ

EADS

  • Hitachi Elastic Application Data Storeのこと

  • 分散KVS

  • paxos commitでは補助合意に使用する

Entity-Module

TCC-ParticipantはEntity-Serviceの機能の一部を利用しており、TCC-Participant内で利用されているEntity-Serviceの機能をEntity-Moduleと呼ぶ

Entity-Service

データベースなどのリソースの参照、更新業務を行うアプリケーション、およびアプリケーションに組み込んでParticipantと連携するHMP-PCTOのライブラリの総称

Ext Cons

  • 補助合意のこと

  • External Consensusの略

External Consensus

補助合意のこと

HMP-ADIF

  • Hitachi Microservices Platform-Application Distributed Integration Frameworkの略称

  • GlobalLogic社のMicroservices Acceleratorを導入した製品

  • マイクロサービスアーキテクチャを用いたシステムのアプリケーション開発を容易にするフレームワーク

HMP-PCTO

  • Hitachi Microservices Platform - Paxos Commit Transaction Orchestratorの略称

  • ミッションクリティカルシステムにおける分散トランザクション制御を、マイクロサービスアーキテクチャを用いたシステムで容易に実現するフレームワーク

Javaアプリケーション

  • HMP-PCTOのライブラリを使用しjava言語で作成するユーザアプリケーション

  • ユーザが作成したアプリケーションで、ユーザ任意の方法でJARファイルにビルドしたもの

JDBC Proxy Driver

  • アプリケーションやフレームワークからのJDBC Driverのメソッドの呼び出しを、Participantと連携して透過的にベンダネイティブなJDBC Driverに伝えるDriver

  • Entity-ServiceのHMP-PCTOのライブラリの機能

Kubernetesアプリケーション

  • Kubernetesクラスタにデプロイして実行するコンテナ化されたアプリケーション

  • Pod、Deployment、StatefulSetなどのワークロードリソースとして作成したもの

Learner

Consensus Learnerのこと

Mediator

  • Paxos Commitで、トランザクション制御を行うための構成要素の一つであり、Consensus AcceptorおよびTermination Judgeの機能を持つ

  • Consensus AcceptorおよびTermination Judgeは、ParticipantのTermination ProposerおよびConsensus Learnerと連動してクウォーラム型分散合意を実現する

Orchestrator

Clientシステムからの要求を受け付けて、Entity-Serviceを利用して業務を実行するアプリケーション、およびアプリケーションに組み込んでMediator、Entity-Serviceと連携するHMP-PCTOのライブラリの総称

Participant

  • Paxos Commitで、トランザクション制御を行うための構成要素の一つであり、Resource Adapter、Termination ProposerおよびConsensus Learnerの機能を持つ

  • Termination ProposerおよびConsensus Learnerは、MediatorのConsensus AcceptorおよびTermination Judgeと連動してクウォーラム型分散合意を実現する

  • SQL-Participant、TCC-Participant、およびTP1-Bridgeのことを指す

PrivilegedValue合意

  • 分散合意習得方式の一つ

  • PrivilegedValueパラメタ指定値になるように合意する分散合意習得方式

PV合意

PrivilegedValue合意のこと

RAS

  • RASIS(Reliability Availability Serviceability Integrity Security)の省略形。RASISとは、コンピュータシステムの信頼性を評価するときチェックする項目であるReliability(信頼性)、Availability(可用性)、Serviceability(保守性)、Integrity(保全性)、Security(機密性)の頭文字で構成された用語

  • HMP-PCTOのシステム運用に必要となる機能のこと。障害対策のための情報やHMP-PCTOの性能を評価するための情報を取得する

SQL-Adapter

  • JDBC Driverを介してSQLを実行する

  • XAインタフェース(xa_start、xa_end、xa_prepare、xa_commit、xa_rollback、およびxa_recover)を使用してRDBMSに接続し、リソースを管理する

SQL-Participant

  • X/OpenのXA仕様に準拠したParticipant

  • SQL-AdapterおよびTx+Paxos-Managerによって構成される

TCC

  • REST APIサービスに対する分散トランザクションの設計パターンの一つ

  • Try、Confirm、Cancelの機能を持つ。これらの頭文字からTCCと呼ばれる

TCC-Participant

  • TCCパターンを利用したParticipant

  • Try、Confirm、Cancel、Recoverに対応したインタフェースを提供し、ユーザが実装することでリソースの管理を行う

Termination Judge

  • ターミネーションジャッジ(トランザクション終了審査者)のこと

  • グローバルトランザクションに含まれるParticipantから通知された投票内容を記録し、すべてのParticipantがCommit投票(リソースを更新できる)であればCommitに、1つでもRollback投票(リソースを更新できない)のParticipantがあればRollbackに、投票結果を集約する機能を持つ

  • 集約した投票結果は、Consensus Acceptorに通知する

Termination Proposer

  • ターミネーションプロポーザ(トランザクション終了提案者)のこと

  • リソースに対するSQL実行の更新可否を確認するため、X/Openが規定するXA仕様に則ってPrepareを実行し、その結果に応じた投票(Commit投票/Rollback投票)をMediatorに通知する機能を持つ

ThreeQuarters合意

  • 分散合意習得方式の一つ

  • 1/4のMediatorの故障を許容する分散合意習得方式

TP1-Acceptor

  • HMP-PCTO上のAPから、OpenTP1のSPPに対するリクエストを受け付けるサービス

TP1-Adapter

  • TP1/Client/Jを介してOpenTP1のサービスを呼び出す機能

  • XAインタフェース(xa_start、xa_end、xa_prepare、xa_commit、xa_rollback、およびxa_recover)を使用してOpenTP1に接続し、トランザクションを制御する

TP1-Bridge

  • HMP-PCTO上のAPからOpenTP1のサービスの呼び出しを橋渡しする機能

  • Entity-Service、TP1-Acceptor、TP1-Converter、TP1-Adapter、およびTx+Paxos-Managerによって構成される

TP1-Converter

  • HMP-PCTO上のAPが扱うJSON形式のデータと、OpenTP1のAPが扱うバイナリ形式のデータの相互変換をする

  • uCosminexus Service Platform上で動作するサーブレット

Tx+Paxos-Manager

次の機能を持つSQL-ParticipantおよびTP1-Bridgeの構成要素

  • X/OpenのXA仕様に準拠したトランザクションマネージャの機能

  • Participantの機能

XID

  • トランザクションを一意に識別するための識別子

  • HMP-PCTOでのデータ構造は、X/Openトランザクション識別子XID構造のJavaマッピングで表現する

コンテナ化されたアプリケーション

JavaアプリケーションやHMP-PCTOおよび関連するソフトウェアのファイルなどを、コンテナイメージとしてビルドしたもの

ルートXID(RootXID)

  • XIDのうち、グローバルトランザクションの基底となる識別子

  • X/Openトランザクション識別子XID構造のJavaマッピングのGlobalTransactionIdに相当する

高速合意

補助合意不要で一貫した合意結果を獲得すること

分散合意(機能)

  • paxos commitでは複数のMediatorと複数のParticipant(Consensus Learner)で実現する

  • トランザクションの状態を複数のMediatorに分散冗長化し、一部のMediatorの故障を許容した上で(可用性向上)、複数のMediatorから得られるトランザクションの状態を、1以上のParticipant(Consensus Learner)で、一貫した合意結果として獲得し共有する機能

分散合意習得(機能)

Consensus Learnerのこと

分散合意習得方式

  • Consensus Learnerで一意となる合意結果を得るための方式

  • paxos commitではThreeQuarters合意とPrivilegedValue合意がある

補助合意

  • Consensus Learnerで、複数のMediatorの合意に不一致がある場合にConsensus Learner間で合意結果が一貫するように合意調整する機能

  • Consensus Learnerで、次の条件をすべて満たした場合に、合意結果が一貫するように合意調整する機能

    ・一部のMediatorの合意が受信できない

    ・受信できた合意だけでは合意結果の一貫性が担保できない

補助合意試行間隔タイマ

Consensus Learnerの補助合意の試行(補助合意可否の判定および補助合意リトライ)間隔タイマ