Object Store v2 の概要

Object Store v2 を使用すると、1 つの CloudHub アプリケーション内から、または Object Store REST API を使用して、あらゆるバッチプロセスや Mule コンポーネントおよびアプリケーションにわたってデータと状態を保存できます。

デプロイメント時に Runtime Manager の ​[Object Store V2]​ チェックボックスをオンにすることで、CloudHub で Mule 3 と Mule 4 の実装として Object Store v2 を選択できます。

Object Store に関する情報は、​FAQ​ を参照してください。

Object Store v2 アーキテクチャ

オンプレミス Mule アプリケーションは、Object Store REST API を介してのみ Object Store v2 にアクセスできます。

Object Store REST API を使用して別の Mule アプリケーションのオブジェクトストアからの値を保存および取得するように Mule アプリケーションを設定できます。

Object Store v2 の機能

  • データの永続性の目的で、静的とローリングの両方の ​TTL​ (存続期間) をサポートしています。

  • 接続アプリケーション機能を使用した、API を使用しての Anypoint Platform への認証をサポートします。

    接続アプリケーションの設定」を参照してください。

  • 無制限のエントリ数。v2 object-store の合計サイズに制限はありません。

  • 最大サイズ 10 MB (Base64 エンコードの場合) の値を保存。ペイロードの base64 サイズは CEILING(base10size * 1024/3) * 4 で見積もることができます。ここで、base10size はオブジェクトサイズのバイト数です。 + たとえば、base10 ペイロードサイズが 7.5 MB の場合、base64 では 10.24 MB に変換されます。

  • サポート対象リージョンと各リージョン内の可用性ゾーンのすべてで使用可能。

  • ワーカーと同じリージョンに存在。たとえば、シンガポールでホストされているワーカーは、シンガポールでホストされている Object Store v2 を使用します。

  • 外部アプリケーションがアクセスするための Mule Connector と REST インターフェースを提供。

  • エンドツーエンドでセキュアな TLS トランスポートを提供。

  • 永続的ストレージを FIPS 140-2 準拠の標準を使用して暗号化。

v1 または v2 のいずれを使用していても、既存の Object Store Connector を使用してオブジェクトストアに書き込むことができます。

Object Store v2 のユーザーインターフェースは、[Anypoint Platform] > [Runtime Manager] で使用できます。

存続期間 (TTL)

TTL は ​rolling​ または ​static​ のいずれかです。

コネクタのグローバル設定パラメーターで指定される ​entryTtl​ 値によって、ストアからキー-値ペアを削除するタイミングが決まります。

アプリケーションで ​entryTtl​ の値が指定されない場合、デフォルト値はアプリケーションの Mule バージョンによって異なります。

  • Mule バージョン 4.2.1 以降:

    オブジェクトストアはデフォルトでローリング TTL になります。

    30 日期間の最後の 7 日間にデータにアクセスすると、TTL が 30 日延長されます。

  • 4.2.1 より前の Mule バージョン:

    オブジェクトストアはデフォルトで 30 日の静的 TTL になります。

    (たとえば、キーを上書きして) データを更新すると、TTL がリセットされます。

TTL を設定する場合は、​「カスタム存続期間を設定する」​を参照してください。

ローリング TTL

ローリング TTL を設定した場合、30 日期間の最後の 7 日間にデータにアクセスすると、TTL が 30 日延長されます。

このときにデータにアクセスしなかった場合は、直近の有効期限から 7 ~ 30 日後にオブジェクトストアのデータが削除されます。

Object Store Connector の操作で TTL を延長するものは次のとおりです。

TTL を延長するもの TTL を延長しないもの

Retrieve

Contains

Retrieve All

Clear

Retrieve All Keys

Remove (削除)

Store (保存)

  • 最小ローリング TTL は 30 日 (2592000 秒) です。

  • 最大ローリング TTL は、30 日期間の最後の 7 日間にデータにアクセスし続ける限り無制限です。

静的 TTL

静的 TTL を設定した場合、​entryTtl​ の値によってデータを削除する時点が異なります。

  • 最小静的 TTL は 1 秒です。

  • 最大 (デフォルト) 静的 TTL は 2592000 秒 (30 日) です。

entryTtl​ 値が 1 秒未満または 30 日を超える場合、TTL が最大値である 2592000 秒 (30 日) に設定され、エラーは返されません。

(たとえば、キーを上書きして) データを更新すると、TTL がリセットされます。

Object Store v2 へのアップグレード

  • 現在のオブジェクトストアのデータすべてをバックアップします。

    データは Object Store v1 から v2 に引き継がれません。 Object Store v1 内にあるデータは、ウォーターマークやその他の Mule コンポーネントの状態を含め、v2 に移行されません。Object Store v1 に戻すと、Object Store v1 データは以前のまま残っています。
  • Object Store v2 にアクセスするには、Anypoint Platform で ​[Runtime Manager]​ をクリックします。アプリケーションの名前をクリックしてそのダッシュボードを表示し、​[Manage Application (アプリケーションを管理)]​ をクリックします。​[Settings (設定)]​ 画面で、​[Use Object Store v2 (Object Store v2 を使用)]​ をクリックします。画面の指示を受け入れます。Runtime Manager のダッシュボードで、​[Application Data (アプリケーションデータ)]​ セクションが ​[Object Store]​ に変わります。

    Runtime Manager で [Use Object Store v2 (Object Store v2 を使用)] をオンにします。

Object Store に関するメモ

  • Object Store v2 リージョンをどこで使用できるかは、​「Object Store v2 を使用できるリージョンは?」​を参照してください。

  • Object Store Connector は Object Store バージョン 1 と 2 の両方で動作します。

  • Object Store v2 では、作成時から最長 30 日間のデータ存続期間が適用されます。

  • プレミアムアドオンのお客様は、アプリケーションごとに最大 100 TPS まで使用できます。

    無料の Object Store v2 では、アプリケーションごとに 1 秒あたり 10 件のトランザクション (TPS) に使用が制限されます。 プレミアムにアップグレードして TPS の制限を増やすには、MuleSoft アカウントチームにお問い合わせください。

  • Mule 4 を使用する CloudHub アプリケーションでは、Object Store v2 を選択すると、Object Store v2 で ​_defaultPersistentObjectStore​ オブジェクトストアが上書きされます。

    Mule 3 を使用する CloudHub アプリケーションでは、Object Store v2 で ​_defaultUserObjectStore​ オブジェクトストアが上書きされます。Mule 3 CloudHub アプリケーションで Object Store v2 を使用するには、[Object Store Reference (オブジェクトストア参照)] 項目の値を「​_defaultUserObjectStore​」に設定します。

  • マルチワーカー CloudHub アプリケーションで Object Store v2 を使用すると、データの不一致やキーの競合が発生する可能性があります。

    これらの問題を回避するには、分散されたキー - 値ストアをロックとして使用し、Object Store v2 へのアクセスを同期します。 Mule Runtime Engine での分散ロッキングについては、​「分散ロッキング」​を参照してください。