「スケーラビリティー」は、メッセージングサービスの利用拡大に対応する配備の能力です。スケーラビリティーにより、ユーザー数の急激な拡大をシステムがどのくらいうまく受け入れられるかが決まります。またスケーラビリティーにより、たとえば 1 か月の間にユーザーの多くが SSL の使用を希望するなどというような、ユーザーの行動の大きな変化にシステムがどのくらいうまく適応できるかも決まります。
この節では、個別のサーバーとサーバー全体で、利用の拡大に対応するためにアーキテクチャーに追加する機能について確認します。次のトピックについて説明しています。
水平スケーラビリティーは、アーキテクチャーにサーバーを追加することがどの程度容易であるかを示します。ユーザー数が拡大する、またはユーザーの行動が変化するにつれて、やがては既存の配備のリソースが過負荷状態になります。慎重に計画を立てて、配備のスケールを適切に拡張する方法を決めます。
配備の水平的拡張を行う場合には、リソースを複数のサーバーに分散します。水平スケーラビリティーでは、2 つの方法が使用されます。
負荷を複数のサーバーに分散するには、クライアントのメールをいくつかのバックエンドメッセージストアに均等に分割します。ユーザーをアルファベット順に分けたり、サービスのクラス別、部門、または物理的な場所別に分けたりして、特定のバックエンドメッセージストアホストに割り当てます。
MMP と MEM は、管理を容易にする目的でしばしば同じマシンに置かれます。図 11–2 に、ユーザーが複数のバックエンドサーバーに分散され、着信クライアント接続の処理にマルチプレクサを使用するサンプルアーキテクチャーを示します。
ユーザーをバックエンドサーバーに分散することで、MMP または MEM を使用するかぎり、ユーザーの管理が簡単になります。ユーザーは、メールがある 1 つのバックエンドサーバーに接続するため、すべてのユーザーに対して設定を標準化できます。この設定により、複数のサーバーの管理も容易になります。また、Messaging Server ホストへの要求増加に対応して、ホストをシームレスに追加できます。
電子メールが日常業務に重要な地位を占める場合は、メッセージングシステムが常に運用可能な状態であることを確実にするために、ロードバランサ、MX (メール交換) レコード、リレーのような冗長コンポーネントが必要になります。
冗長 MTA を使用することで、あるコンポーネントが動作不能に陥っても、別のコンポーネントが使用可能になります。また、リソースを冗長 MTA に分散することで、負荷の分散も行われます。この冗長性により、Messaging Server システムにフォールトトレランスも提供されます。それぞれの MTA リレーが、他の MTA リレーの機能を受け持ちます。
冗長ネットワーク接続をサーバーと MTA にインストールすることで、ネットワークの問題に対するフォールトトレランスが実現します。メッセージング配備が組織にとってより重要なものであるほど、フォールトトレランスと冗長性の検討もより重要になります。
「MX (メール交換) レコード」および 「インバウンド MTA とアウトバウンド MTA」の詳細については、次の節で説明します。
MX レコードは、1 つのホスト名を別のホスト名にマップする DNS レコードの一種です。等しい優先度の MX レコードにより、冗長化されたインバウンド MTA にメッセージがルーティングされます。たとえば、インターネットからの送信 MTA は、siroe.com に対する MX レコードが、MTAA.siroe.com および MTAB.siroe.com に対応していることを検出します。優先度が同じためにこれらの MTA の 1 つがランダムに選択され、SMTP 接続が開かれます。最初に選択された MTA が応答しなかった場合は、メールは別の MTA に送信されます。次の MX レコードの例を参照してください。
siroe.com in MX 10 MTAA.siroe.com siroe.com in MX 10 MTAB.siroe.com |
Messaging Server ホストがそれぞれ多数のユーザーをサポートしており、SMTP メールの送信負荷が高い場合、独立したインバウンド MTA とアウトバウンド MTA を使用することで Messaging Server ホストはルーティングタスクから開放されます。送信メッセージと受信メッセージの処理に異なる MTA を指定して、さらに負荷の分散を図ることもできます。
インバウンド MTA とアウトバウンド MTA の両方が、1 つの送受信 SMTP ホストとして組み合わされる場合もあります。1 つまたは複数の MTA ホストが必要であるかどうかを判断するには、アーキテクチャー全体のインバウンドおよびアウトバウンドメッセージのトラフィック特性を確認します。
負荷分散を使用すると、負荷を複数のサーバーに分散して、どれか 1 つのサーバーが過負荷状態にならないようにします。ロードバランサは、クライアントからの要求を受けて、各サーバーの CPU とメモリーの使用率を追跡するようなアルゴリズムを使用して、利用可能なサーバーに要求をリダイレクトします。ロードバランサは、共通サーバーで実行されるソフトウェアとして、純粋に外部のハードウェアソリューションとして、またはハードウェアとソフトウェアを組み合わせたパッケージとして使用可能です。
垂直スケーラビリティーは、CPU の追加など、個々のサーバーマシンへのリソースの追加に関係があります。それぞれのマシンには、一定の負荷を処理できる能力があります。一般には、リソースに制限があるか、配備の拡大に応じて追加のハードウェアを購入できない場合に、配備における垂直スケーラビリティーを検討します。
各メッセージングコンポーネントのサイズを決定する
「Messaging Server アーキテクチャー戦略の構築」を参照してください。
システムのプロトタイプの負荷をテストする
「Messenger Express 負荷シミュレータの使用」を参照してください。
システムパフォーマンスを監視し、それに従って配備を調整する