MuleSoft ObjectStoreの仕様の整理

Stay hungry. Stay foolish. Your time is limited, so don't waste it living someone else's life.

MuleSoft ObjectStoreの仕様の整理

はじめに

ObjectStoreについて仕様をまとめる機会があったので、仕様をまとめる。

目次

  1. ObjectStoreとは
  2. ObjectStoreのユースケース
  3. データのアクセス方法
  4. データの存在期間
  5. ObjectStoreのトランザクション制限
  6. その他制限事項

内容

1. ObjectStoreとは

ObjectStoreは、キー・バリュー形式のデータ保存機能です。
ObjectStoreには、2種類ありv1とv2があり、v1はRuntimeが再起動するとデータが失われる一時的なもの、v2は再起動してもデータを失わない永続的なものである。

2. ObjectStoreのユースケース

  • ウォーターマークなど、同期情報を保存する。
  • アクセストークンなど、一時的な情報を保存する。
  • ユーザ情報を保存する。

別のコンポーネントからObjectStoreを利用している。

  • Cache モジュール
  • OAuth モジュール (コネクターなど)

データアクセス方法

  • Object Store v2 を使用すると、1 つの CloudHub アプリケーション内から、または Object Store REST API を使用して、あらゆるバッチプロセスや Mule コンポーネントおよびアプリケーションにわたってデータと状態を保存できる。
  • オンプレミス Mule アプリケーションは、Object Store REST API を介してのみ Object Store v2 にアクセスできる。
  • サポート対象リージョンと各リージョン内の可用性ゾーンのすべてで使用可能。
  • ワーカーと同じリージョンに存在する。
  • 外部アプリケーションがアクセスするための Mule Connector と REST インターフェースを提供。
  • エンドツーエンドでセキュアな TLS トランスポートを提供。
  • Object Store v2 は、アプリケーションが最初にデプロイされた、ワーカーと同じリージョンにあります。
  • Object Store REST API を使用して別の Mule アプリケーションのオブジェクトストアからの値にアクセスできる。

データ存在期間

  • データ永続性は、静的とローリングの両方の TTL (存続期間) をサポートしている。ローリングでは、データにアクセスされたものが存在期間を更新する。データにアクセスし続ける限り無制限に保存される。

データ容量

  • ObjectStoreのレコード件数に制限はない。
  • 最大サイズ 10 MB (Base64 エンコードの場合) の値を保存。
  • 永続的ストレージを FIPS 140-2 準拠の標準を使用して暗号化。
  • v1 または v2 のいずれを使用していても、既存の Object Store Connector を使用してオブジェクトストアに書き込むことができます。

トランザクション制限

  • 基本サブスクリプション: アプリケーションごとに 10 TPS
  • プレミアムアドオンサブスクリプション: アプリケーションごとに 100 TPS
  • Anypoint Platform 組織に 1 か月あたり 1 億件のトランザクションが許可されます。

その他制限

何よりも重要なのは、トランザクション型のアクセスと変更をサポートしていない点です。
Object Store v2 はアプリケーション間の通信を目的として設計されていません。 2 つの Mule 4 アプリケーション間でデータを共有するには、​Anypoint MQ​ のキューを使用してください。

MuleSoft公式ヘルプ:Object Store v2 の概要

公式ヘルプ:ObjectStoreの制限