Spatial モジュールのクラスタ アーキテクチャ

クラスタ環境では、サーバーの複数のインスタンスが処理を共有します。以下の図は、このような構成の展開アーキテクチャを示したものです。負荷分散を利用することによって、高い可用性とスケーリングをサポートすることができます。展開アーキテクチャは、ロード バランサー (負荷分散サーバー)、Spectrum Spatial クラスタ、データベース、ファイル共有で構成されます。このアプローチによって、水平および垂直の両方のスケーリングが可能になります。Spatial モジュールは、プラットフォームをクラスタリングしてもしなくてもクラスタ化できます。

注: Spectrum™ Technology Platform クラスタと Location Intelligence モジュール クラスタの両方を設定することを推奨します。これには、以下に示すいくつかの利点があります。
  • 名前付きリソースのセキュリティ (ACL) 同期が自動的に行われます。
  • 1 つのノード上で作成されたデータフロー、ユーザ、役割が、すべてのノードに自動的に同期されます。
  • Location Intelligence モジュールのすべてのデモ ページとユーティリティ (Spectrum Spatial™ Manager など) がロード バランサーを参照できます。

ロード バランサー

ロード バランサーは、Spectrum Spatial インスタンス間にリクエストを分散します。HTTP/HTTPS リクエストの負荷分散をサポートする任意のロード バランサーを使用できます。

Spectrum Spatial クラスタ

このクラスタは、Spatial モジュール共有管理、名前付きリソース、地理メタデータ コンテンツ、および構成設定を伴う Spectrum インスタンスのコレクションです。クラスタにさらにノードを追加することによって、耐障害性を高めたり、さらに高い負荷に対応したりすることができます。各ノードは、ハードウェア リソースを追加するか、または、大規模リソースを伴うハードウェアに対して必要である場合はインスタンスを追加することによって、垂直にスケーリング可能です。Spectrum は、限られた数の CPU を使用するように構成できます。

データベース

Spectrum は名前付きリソース (マップ、レイヤ、テーブル、スタイル)、地理メタデータ、構成をリポジトリに保存します。デフォルトのシングル サーバー構成では、組み込みデータベースを使用して、ローカル サーバー上にこれらのリソースを保存します。耐障害性に優れたスケーラブルなソリューションを構築するには、この組み込みデータベースを耐障害性を備えた独立したデータベースに置き換える必要があります。Oracle、PostGreSQL/PostGIS、Microsoft SQL Server が、リポジトリ データベースとしてサポートされています。

負荷分散構成において、Spectrum ノードはローカル キャッシュにこれらのリソースをキャッシュし、クラスタの各ノード内のインデックスを検索します。Spectrum ノードはリクエストを受信すると、ローカル キャッシュとインデックスを使用してリソースを検索します。名前付きリソースは、クラスタ内の任意のノードを介して追加できます。各ノードは、ローカル キャッシュと中央データベースとの違いをチェックして、キャッシュを最新の状態に保ちます。このチェックは、デフォルトで 2 秒ごとに実行されます。チェック時間の間隔は設定可能です。このアーキテクチャによって、サーバーは高いパフォーマンスでトランザクションを処理することができ、リポジトリ データベースの負荷は最小限に抑えられることになります。新しい Spectrum ノードがクラスタに追加されると、キャッシュとインデックスが自動的に作成されます。新しい Spectrum の追加は、障害が発生したノードを復旧したい場合や展開のキャパシティを拡大したい場合に、行われる可能性があります。

ファイル共有

ファイル共有は、Spectrum によって生成されたマップ イメージを格納するためのフォルダを提供します。Web サービスを使用してマップをレンダリングする際、サーバーは、URL を介して返されるマップ イメージまたは base 64 エンコード イメージとして返されるマップ イメージをサポートします。URL が返される場合、マップ イメージはファイルとして保存され、その URL がリクエストされた場合に提供されます。任意の Spectrum ノードがマップ イメージを返せるようにするために、イメージの保存にファイル シェアが使用されます。