Microservice-architecture-scaling

提供:Dev Guides
移動先:案内検索

マイクロサービスアーキテクチャ-スケーリング

スケーリングとは、異なる単位でソフトウェアを分解するプロセスです。 スケーリングは、スケーラビリティに関しても定義します。 スケーラビリティは、アプリケーションのより高度な機能を実装する可能性です。 これにより、アプリケーションのセキュリティ、耐久性、および保守性が向上します。 業界で採用されている3種類のスケーリング手順があります。 次に、さまざまなスケーリング方法と対応する実際の例を示します。

X軸のスケーリング

X軸スケーリングは、水平スケーリングとも呼ばれます。 この手順では、アプリケーション全体が異なる水平部分に細分されます。 通常、どのWebサーバーアプリケーションでもこのタイプのスケーリングを使用できます。 次の図に示すように、水平方向のスケーリングに従う通常のMVCアーキテクチャを検討します。

X軸スケーリング

例として、JSPサーブレットアプリケーションを検討できます。 このアプリケーションでは、コントローラーがすべての要求を制御し、必要に応じてモデルと通信することでビューを生成します。 通常、モノリシックアプリケーションはこのスケーリング方法に従います。 X軸のスケーリングは本質的に非常に基本的なものであり、非常に時間がかかりません。 この方法では、ユニットが担当するさまざまなタスクに応じて、1つのソフトウェアがスケーリングされます。 たとえば、コントローラーは着信および発信リクエストの制御を担当し、ビューはブラウザーでユーザーにビジネス機能を表す責任を負います。一方、モデルはデータを格納し、データベースとして機能します。

Y軸のスケーリング

Y軸スケーリングは、リソースレベルのスケーリングを含む垂直スケーリングとも呼ばれます。 DBaaSまたはHadoopシステムは、Y軸にスケーリングされていると見なすことができます。 このタイプのスケーリングでは、ユーザーリクエストはリダイレクトされ、何らかのロジックを実装することにより制限されます。

Facebookを例として考えてみましょう。 Facebookは毎秒179万人のユーザーを処理する必要があります。したがって、トラフィックを制御することは、Facebookネットワークエンジニアの大きな責任です。 危険を克服するために、彼らは同じアプリケーションで複数のサーバーを同時に実行することを含むY軸のスケーリングに従います。 この巨大なレベルのトラフィックを制御するために、Facebookは画像に示されているように、すべてのトラフィックを1つの地域から特定のサーバーにリダイレクトします。 この領域に基づいたトラフィックの転送は、アーキテクチャ言語では負荷分散と呼ばれます。

Y軸スケーリング

リソースを小さな独立したビジネスユニットに分割するこの方法は、Y軸スケーリングと呼ばれます。

Z軸のスケーリング

X軸とY軸のスケーリングは非常に理解しやすいです。 ただし、1つのアプリケーションをビジネスレベルでスケーリングすることもできます。これをZ軸スケーリングと呼びます。 以下は、事業部門のさまざまな業種でのタクシーサービスアプリケーションのスケーリングの例です。

ドライバー管理

スケーリングの利点

  • コスト-ソフトウェアの適切なスケーリングにより、メンテナンスのコストが削減されます。
  • パフォーマンス-疎結合のため、適切にスケーリングされたソフトウェアのパフォーマンスは、スケーリングされていないソフトウェアよりも常に優れています。
  • 負荷分散-さまざまなテクノロジーを使用して、サーバーの負荷を簡単に維持できます。
  • 再利用-ソフトウェアのスケーラビリティにより、ソフトウェアの使いやすさが向上します。