https://blogs.oracle.com/WebLogicServer/entry/exiting_new_jta_12_1
WebLogic Server 12.1.3で最もすごい新機能の一つが、JTAの新機能である
「XA Transaction without Transaction Logs(Transaction Logsを使わないXA Transaction)」でしょう。この機能はアプリケーションがXAトランザクションを利用するときに性能を最適化するだけでなく、災害復旧(Disaster Recovery)シナリオにおいてもすばらしいメリットをもたらします。
XAトランザクションは、ミッションクリティカルなアプリケーションのデータの一貫性を維持する、標準ベースのメカニズムを提供します。通常XAトランザクションの復旧にはトランザクションマネージャが必要です。このトランザクションマネージャは、全てのトランザクションリソースの準備が完了するとトランザクションのレコードを安定したストレージ(TLog)に永続化し、全てのトランザクションリソースが完了するとそのレコードをパージする役目を持ちます。しかし、保留中のトランザクションを復旧目的で記録する場合、追加のI/Oが必要になるため、性能に影響が及びます。災害復旧時には、トランザクションログを複製し、確実にグローバルトランザクションを復旧できるようにしておく必要があります。
“XA Transaction without Transaction Logs”では、DataSourceもしくはWebLogic JMSリソースであるdeterminerリソース(決定リソース、限定リソース)を利用し、保留中のトランザクションの回復結果を決定します。determinerリソースを使うと、WebLogic Serverはトランザクション・チェックポイントをTLogに書き出したり、パージすることはありません。“XA Transaction without Transaction Logs”は2フェーズコミットプロトコルや、グローバルトランザクションに参加するリソースのPrepareおよびCommitの順序を活用し、保留中のトランザクションをコミットやロールバック時に復旧が必要かどうかを判断します。
この機能のよいところは以下の点です。
- 最大3倍ものスループット向上
- PrepareおよびCommitの順序を保持
- TLOG(デフォルトはファイルストア)への書き込みがなくなることで、I/Oレイテンシがゼロに
- (JDBC TLogの場合)リソースとバッチのブロッキングを回避
- メモリ消費量の削減
- キャパシティ要件を下げることが可能に
- TLogの複製が簡単に
この機能の動作詳細は、次のYouTube動画をご覧下さい。
"JTA 12.1.3 New Feature and Optimization"構成方法、動作の様子、determinerの動作確認のためのトランザクションのデバッグ方法を紹介するデモもあります。
https://www.youtube.com/watch?v=zFbp0wJLpBU
WebLogic 12.1.3 JTA "XA Transaction without TLog" and Demo
https://www.youtube.com/watch?v=d3bCmu_I3ps
この機能の構成方法ならびに利用方法の詳細は、WebLogic Server12.1.3ドキュメントのJTAのマニュアルを参照してください。
Developing JTA Applications for Oracle WebLogic Server
3 Configuring Transactions
XA Transactions without TLogs
http://docs.oracle.com/middleware/1213/wls/WLJTA/trxcon.htm#BABDGDAB
0 件のコメント:
コメントを投稿