まず /usr/s https: クライアント |
2010年10月30日土曜日
AIXの/etc下のfb_*ファイルは何?
アドバンスト
ラベル:
AIX
2010年10月28日木曜日
MQのメッセージと同期点処理メモ
■メッセージ
MQでデータを扱う単位で、テキストとバイナリの2種類を扱うことが出来、V5.1以降では1メッセージ100MBまで。
メッセージは、「ヘッダ部(MQMDと呼ばれる構造体)」と「データ部」を持つ。
ヘッダ部で代表的というか良く効く属性。
・Expiry
メッセージの有効期限。キューに書き込まれてから指定の時間を過ぎて何も行われなかった場合、キューから削除される。
・CodeCharSetId
俗にいうCCSID。ここで指定したコードに受信側でコード変換をする。
・MsgIdとCorrelId
一意なIDを付与し、複数メッセージを管理する。
任意に指定することも出来るし、キューマネージャに自動生成させることも出来る。
・ReplyToQとReplyToQMgr
送信したキューの結果を受け取るキューとキューマネージャを指定する場所。
キューマネージャによるデータ変換機能
・MQMD.FormatでMQFMT_STRNIGを指定し、全てがテキストデータである事を表している場合変換される。
以下のパターンの場合、文字変換をしない
①シングルバイト文字とダブルバイト文字の区切りを表すSOとSIが1メッセージ中に揃っていない場合
②ダブルバイトの文字列をシングルバイトへ変換しようとした場合
これらの場合で変換したい場合、キューマネージャにやらせずアプリなどで独自に行わせること。
パーシスタント・メッセージとノン・パーシスタント・メッセージ
・パーシスタント・メッセージ
まずログに書き込みを行い、その後にキューのファイルに書き込みに行く。
物理的にデータを取っておくので、テークオーバーなどが発生した場合にリカバリーをした際に、以前の状態で再開できる。
・ノン・パーシスタント・メッセージ
メモリーに書き込みを行い、メモリーから溢れた場合のみキューのファイルに書き込みに行く。
リブートなどをした場合は、当然以前の状態には戻らない。
■同期点処理
考え方は、DBと同じ。
COMMITをすれば確定し、ROLLBACKすれば以前の状態に戻る。
つまり、キューからメッセージを取り出して処理をしていったが、完了前にエラーとなり最初から再度処理を行わなくてはならない場合、処理の最初の状態、つまりキューにメッセージが入っていた状態に戻るという事。
トランザクション・マネージャとして、CICSなどがある。
WASでDBとの連携する場合、XAで2フェーズコミットを実現。
MQでデータを扱う単位で、テキストとバイナリの2種類を扱うことが出来、V5.1以降では1メッセージ100MBまで。
メッセージは、「ヘッダ部(MQMDと呼ばれる構造体)」と「データ部」を持つ。
ヘッダ部で代表的というか良く効く属性。
・Expiry
メッセージの有効期限。キューに書き込まれてから指定の時間を過ぎて何も行われなかった場合、キューから削除される。
・CodeCharSetId
俗にいうCCSID。ここで指定したコードに受信側でコード変換をする。
・MsgIdとCorrelId
一意なIDを付与し、複数メッセージを管理する。
任意に指定することも出来るし、キューマネージャに自動生成させることも出来る。
・ReplyToQとReplyToQMgr
送信したキューの結果を受け取るキューとキューマネージャを指定する場所。
キューマネージャによるデータ変換機能
・MQMD.FormatでMQFMT_STRNIGを指定し、全てがテキストデータである事を表している場合変換される。
以下のパターンの場合、文字変換をしない
①シングルバイト文字とダブルバイト文字の区切りを表すSOとSIが1メッセージ中に揃っていない場合
②ダブルバイトの文字列をシングルバイトへ変換しようとした場合
これらの場合で変換したい場合、キューマネージャにやらせずアプリなどで独自に行わせること。
パーシスタント・メッセージとノン・パーシスタント・メッセージ
・パーシスタント・メッセージ
まずログに書き込みを行い、その後にキューのファイルに書き込みに行く。
物理的にデータを取っておくので、テークオーバーなどが発生した場合にリカバリーをした際に、以前の状態で再開できる。
・ノン・パーシスタント・メッセージ
メモリーに書き込みを行い、メモリーから溢れた場合のみキューのファイルに書き込みに行く。
リブートなどをした場合は、当然以前の状態には戻らない。
■同期点処理
考え方は、DBと同じ。
COMMITをすれば確定し、ROLLBACKすれば以前の状態に戻る。
つまり、キューからメッセージを取り出して処理をしていったが、完了前にエラーとなり最初から再度処理を行わなくてはならない場合、処理の最初の状態、つまりキューにメッセージが入っていた状態に戻るという事。
トランザクション・マネージャとして、CICSなどがある。
WASでDBとの連携する場合、XAで2フェーズコミットを実現。
登録:
投稿 (Atom)