メッセージはプロデューシングクライアントからブローカへ配信されます。
ブローカはメッセージの内容を読み取ります。
メッセージは、信頼性を維持するために持続ストレージに配置されます。
ブローカは、信頼性を維持するためにメッセージの受信確認を発行します。
ブローカは、メッセージのルーティングを決定します。
ブローカはメッセージを書き込みます。
メッセージはブローカからコンシューミングクライアントへ配信されます。
コンシューミングクライアントは、信頼性を維持するためにメッセージの受信確認を発行します。
ブローカは、信頼性を維持するために、クライアントの通知を処理します。
ブローカは、クライアントの通知が処理されたことを通知します。
これらの手順は順次実行されるため、プロデューシングクライアントからコンシューミングクライアントへメッセージを配信する際には、どの手順もボトルネックとなる恐れがあります。これらの手順の大半は、メッセージングシステムの物理的な特性に依存しています。物理的な特性には、ネットワーク帯域幅、コンピュータの処理速度、メッセージサービスのアーキテクチャーなどが含まれます。ただし、一部の手順は、メッセージングアプリケーションの特性と必要とされる信頼性のレベルにも依存しています。
次の節では、アプリケーション設計の要因とメッセージングシステムの要因の両方がパフォーマンスに及ぼす影響について説明します。アプリケーション設計の要因とメッセージングシステムの要因はメッセージの配信に密接に関係しますが、各カテゴリは個別に考慮します。