Message Queues 概要

一般的(いっぱんてき) な Message Queue システム:

  • RabbitMQ
  • Kafka
  • NATS / JetStream

キュータイプ

MQ Types

Simple FIFO Queue

First In First Out(先入(さきい)先出(さきだ) し)。

(あたら) しい要素(ようそ) はキューの末尾(まつび)挿入(そうにゅう) され、先頭(せんとう) から要素(ようそ)削除(さくじょ) されます。支払(しはら)応答(おうとう)受信(じゅしん) したときにユーザーにメール通知(つうち)送信(そうしん) したい場合(ばあい) 、FIFO キューを使用(しよう) できます。メールは支払(しはら)応答(おうとう)順序(じゅんじょ)送信(そうしん) されます。

Circular Queue

Circular Buffer または Ring Buffer とも() ばれます。

(れい)Java - Log4j

最後(さいご)要素(ようそ)最初(さいしょ)要素(ようそ)接続(せつぞく) されます。挿入(そうにゅう) 操作(そうさ) はキューの前端(ぜんたん)(おこな) われ、削除(さくじょ) 操作(そうさ)末端(まったん)(おこな) われます。有名(ゆうめい)実装(じっそう) は LMAX の(てい) レイテンシリングバッファです。取引(とりひき) コンポーネントはリングバッファを(とお) じて通信(つうしん) し、これはメモリ(ない)実装(じっそう)非常(ひじょう)高速(こうそく) です。

Priority Queue

要素(ようそ) には事前(じぜん) 定義(ていぎ) された優先度(ゆうせんど) があります。

キューから最高(さいこう) (または最低(さいてい)優先度(ゆうせんど)要素(ようそ)()() します。内部(ないぶ) 実装(じっそう) では、通常(つうじょう) 最大(さいだい) ヒープまたは最小(さいしょう) ヒープが使用(しよう) され、最高(さいこう) または最低(さいてい) 優先度(ゆうせんど)要素(ようそ) がヒープ(Heap)のルートに位置(いち) します。

Deque

Double-ended Queue(両端(りょうたん) キュー)とも() ばれます。

挿入(そうにゅう)削除(さくじょ) 操作(そうさ) はキューの先頭(せんとう)末尾(まつび)両方(りょうほう)(おこな) うことができ、FIFO と LIFO(後入(あとい)先出(さきだ) し)の両方(りょうほう) をサポートします。