Flex Gateway新着情報
Governance新着情報
Monitoring API Managerクラスタリングを使用すると、CloudHub 2.0 のアプリケーションで拡張性、ワークロードの分散、信頼性の向上を実現できます。 この機能は、CloudHub の拡張性の高い負荷分散サービスおよびレプリカのスケールアウトによって提供されます。
新しいアプリケーションをデプロイするときや、既存のアプリケーションを再デプロイするときに Anypoint Runtime Manager コンソールを使用して、アプリケーションごとにクラスタリング機能を有効にできます。
高可用性とは、クラスタリングとは異なり、各レプリカ間でデータを共有しない複数のレプリカがあることを指します。 クラスタリングでは、複数のレプリカが相互に通信し、メモリを共有しているためにデータを共有できます。
CloudHub 2.0 は、Mule 4 アプリケーション用 Object Store v2 に加えて、Mule を使用したクラスタリングをサポートしています。CloudHub 2.0 で Object Store v2 を有効にする場合、レート制限がある点に注意してください。詳細は、Object Store v2 の概要を参照してください。
CloudHub 2.0 でオブジェクトストアを使用するようにアプリケーションを設定する必要はありません。さらに、Mule 4 アプリケーションでは、Anypoint Runtime Manager コンソールから有効化できる Object Store v2 がサポートされています。
クラスタリングでは、以下が必要です。
Anypoint Integration Advanced パッケージ、または Anypoint Platform の Platinum または Titanium サブスクリプション
この機能を使用できる CloudHub Enterprise または Partner アカウント種別。
Runtime Manager を使用したアプリケーションのデプロイについての理解。
CloudHub 2.0 では、アプリケーションの vCore オプションを選択して、水平方向に拡張できます。 このように計算能力のプロビジョニングを詳細に制御できるため、高い負荷に対処する場合はアプリケーションをスケールアップし、負荷が低い期間はスケールダウンするという作業を任意のタイミングで柔軟に行うことができます。
最大 8 個 (Anypoint Integration Advanced パッケージや、Anypoint Platform の Platinum または Titanium サブスクリプションがある場合は最大 16 個) のレプリカを使用してアプリケーションをデプロイできます。 十分なリソースがあることを確認するには、「CloudHub 2.0 レプリカ」を参照してください。
レプリカのスケールアウトにより、信頼性も向上します。 Mule Runtime Engine (Mule) は、自動的に同じアプリケーションで複数のレプリカを 2 つ以上のデータセンターで分散し、最大限の信頼性を確保します。
アプリケーションを 2 つ以上のレプリカにデプロイすると、それらの Mule インスタンスでワークロードを分散できます。 CloudHub では、割り当てたレプリカで HTTP 要求を自動的に分散する、次の HTTP 負荷分散サービスが提供されます。
バッチジョブは、一度に 1 つのレプリカでのみ実行され、複数のレプリカで分散できません。 同じデプロイメントで Mule が再起動すると、その状況は保持され、バッチの処理が続行されます。 バッチの実行中にアプリケーション全体が更新または再デプロイされると、残りのバッチジョブは続行されません。 CloudHub 2.0 の永続的なバッチジョブの主な解決策は、Object Store v2 の概要を参照してください。
Kubernetes では、水平ポッド自動スケーリング (HPA) により、需要に合わせてワークロードをスケーリングするために、ワークロードリソースが自動的に更新されます。水平スケーリングでは、負荷の増加に対応してより多くのポッドが自動的にデプロイされます。これらの定期的な自動スケーリング操作により、ユーザーアクションなしでアプリケーションを新しいレプリカに変更できます。
次の 2 つのいずれかの方法でクラスタリングの機能のいずれかまたは両方を有効/無効にできます。
初めてアプリケーションを CloudHub 2.0 にデプロイする場合は、Runtime Manager 使用します。
[Runtime (ランタイム)] タブの [Replica Count (レプリカ数)] および [Replica Size (レプリカサイズ)] ドロップダウンメニューを使用して、vCore オプションを選択し、必要な計算能力を設定します。
[Runtime Options (ランタイムオプション)] セクションで [Run in Runtime Cluster Mode (ランタイムクラスターモードで実行)] をオンにして、アプリケーションの各レプリカで Mule クラスタリングを有効にします。このオプションには、少なくとも 2 つのレプリカが必要です。
以前にアプリケーションをデプロイしている場合は、[Deployment Target (デプロイメント対象)] タブの [Replica Count (レプリカ数)] および [Replica Size (レプリカサイズ)] ドロップダウンメニューを使用します。
[Runtime Options (ランタイムオプション)] セクションで [Run in Runtime Cluster Mode (ランタイムクラスターモードで実行)] をオンにして、アプリケーションの各レプリカで Mule クラスタリングを有効にします。このオプションには、少なくとも 2 つのレプリカが必要です。
複数のレプリカへのデプロイについての詳細は、「CloudHub 2.0 レプリカ」を参照してください。
アプリケーションがすでにデプロイされている場合、新しい設定を有効にするには、再デプロイする必要があります。
HTTP 負荷分散は、内部リバースプロキシサーバーで実装されます。 アプリケーション (ドメイン) URL への要求は、自動的にすべてのアプリケーションのレプリカ URL で負荷分散されます。
クラスタリングを有効にすると、Mule アプリケーションのすべてのレプリカがユニットとして機能します。クラスターとは複数のレプリカで構成された仮想サーバーです。クラスター内のノードは分散された共有メモリグリッドを通じて通信を行い、情報を共有します。つまり、データがさまざまなレプリカのメモリ間で複製されます。
詳細は、Mule Runtime High Availability (HA) Cluster Overviewを参照してください。
単一のアプリケーションで、クラスタリング機能を組み合わせることができます。
ユースケース | 推奨されるクラスタリング設定 | 影響 |
---|---|---|
アプリケーションをスケールアウトしたいが、サービスの中断とメッセージの損失については、既存の可用性の高い CloudHub 2.0 アーキテクチャに満足している。Mule スケジュールが同時に複数回実行されることに同意しており、競合を回避するために、スケジュールフローは羃等であることが望ましい。 |
レプリカの数: 2 つ以上 |
|
メッセージの損失に対する保護が必要な大きな利害が関係するプロセスがあるが、処理負荷の対処に問題は発生しておらず、データセンターが停止した場合に一部のサービスが中断されても問題はない。 |
レプリカの数: 1 つ |
|
メッセージの損失に対する保護が必要な大きな利害が関係するプロセスがあり、サービスの中断を避けて、大きな処理負荷に対処する。 |
レプリカの数: 2 つ以上 |
|
処理負荷やメッセージの損失に関して特殊な要件のないアプリケーションがある。 |
レプリカの数: 1 つ |
|