【解答・解説付き】Salesforce認定Integration Architect試験対策:第33問

【解答・解説付き】Salesforce認定Integration Architect試験対策:第33問

設問

Northern Trail Outfittersは、製造システムのWebサービスに注文を送信しています。最近、システム障害が発生し、数日間サービスが利用できなくなりました。
このようなサービス障害が発生した場合、アーキテクトはどのようなエラー処理を推奨すべきでしょうか?

選択肢

A. アウトバウンド メッセージングを使用して、失敗したサービス呼び出しを自動的に再試行します。
B. ミドルウェアのキューイングとバッファリングを使用して、Salesforce をシステム停止から保護します。
C. プラットフォーム イベント replayId とカスタム スケジュールされた Apex プロセスを使用して、見逃したイベントを取得します。
D. @future jobId とカスタムスケジュールされた Apex プロセスを使用して、失敗したサービス呼び出しを再試行します。

解答

解説

A. アウトバウンド メッセージングを使用して、失敗したサービス呼び出しを自動的に再試行します。
不正解です。
アウトバウンドメッセージには自動再試行機能があり、失敗時は24時間まで指数関数的に間隔を広げながら再試行されます。しかし、アウトバウンドメッセージには配信のSLAがなく、キューが数時間フリーズすることもあります。また、システム障害時の完全な保護には不十分です。

C. プラットフォーム イベント replayId とカスタム スケジュールされた Apex プロセスを使用して、見逃したイベントを取得します。
不正解です。
プラットフォームイベントは24時間しか保存されず、replayIdは保持期間外では一意性が保証されません。また、イベント駆動型のため、外部システムへの同期的な呼び出しには適していません。

D. @future jobId とカスタムスケジュールされた Apex プロセスを使用して、失敗したサービス呼び出しを再試行します。
不正解です。
@futureメソッドはvoid型しか返せず、jobIdのような識別子を取得できません。また、非同期処理の制御が限定的で、システム障害時の包括的な保護には不適切です。

第34問

こちらをクリック

Salesforceカテゴリの最新記事