さくらのクラウド「シンプルMQ」を試してみる

MQサービスとは

MQ(メッセージキュー)サービスは、アプリケーション間で非同期にメッセージをやり取りできる仕組みです。送信側はメッセージをキューに送り、受信側は必要なタイミングでそれを取り出すことができます。これにより、非同期でデータの受け渡しが可能になります。

MQを利用することで、送信側と受信側の結合度を下げることができ、片方に変更があっても他方に影響を与えにくくなります。また、受信側が一時的に停止してもメッセージはキューに保持されるため、処理の再開後に順次対応が可能となり、システムの耐障害性も高まります。さらに、キューにたまったメッセージの数に応じて受信側の処理をスケールアウトすることで、負荷の変動にも柔軟に対応できます。

シンプルMQ

さくらインターネットが提供する「シンプルMQ」というサービスを利用してみます。シンプルという名前のとおり、必要最小限のサービスとなっているようです。掲載時点ではベータ版となっています。

メニュー「グローバル」の中に「シンプルMQ」があります。
キュー名を登録します。

登録

下記のようなリクエストで登録します。
TOKEN はアクセストークン、QUEUE-NAME は前記で登録したキュー名を入れます。

curl -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer TOKEN' \
-d '{"content": "message1"}' \
https://simplemq.tk1b.api.sacloud.jp/v1/queues/QUEUE-NAME/messages

取得

キュー名を指定してデータを取得します。取得できるデータは1つずつになります。

curl -X GET \
-H 'Authorization: Bearer TOKEN' \
https://simplemq.tk1b.api.sacloud.jp/v1/queues/QUEUE-NAME/messages

削除

取得したデータに含まれている id を指定します。
削除を行わないで、取得を繰り返すと何回も出てくることになります。

curl -X DELETE \
-H 'Authorization: Bearer TOKEN' \
https://simplemq.tk1b.api.sacloud.jp/v1/queues/QUEUE-NAME/messages/ID

まとめ

キュー名は画面から登録する必要があるため、端末ごとにキューを利用するといったことには向かなそうです。システム間で利用する用途で利用できそうです。

掲載時点で、料金は未定となっています。