MuleSoft ObjectStoreの仕様の整理
はじめに
ObjectStoreについて仕様をまとめる機会があったので、仕様をまとめる。
目次
- ObjectStoreとは
- ObjectStoreのユースケース
- データのアクセス方法
- データの存在期間
- ObjectStoreのトランザクション制限
- その他制限事項
内容
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 のキューを使用してください。






