【ナッツ】
NATS とは?
💡 マイクロサービス同士をつなぐ、超高速な伝言板
📌 このページのポイント
- メッセージのやり取りをPub/Sub・Request/Reply・Queue Groupingの3パターンで使い分けられる
- 単一バイナリで動作し、消費メモリが少なく起動も高速
- JetStreamを使えばメッセージの永続化・再配信・ACKも管理できる
- CNCFのホスティッドプロジェクトで、Kubernetesとの相性が良い
NATSってKafkaみたいなやつ?
似たメッセージングシステムだけど、NATSはとにかく軽量で高速なのが特徴だよ。Kafkaが「大量データの永続保存・集計」向きなのに対して、NATSは「リアルタイムな通知や呼び出し」に向いてるんだ。
Pub/Subって何なの?
Publisherがメッセージを送信して、そのトピックをSubscribeしている全員が受け取るパターンだよ。「お知らせメール」みたいなイメージだね。
Request/Replyって名前から想像できるけど、それってただのHTTPと何が違うの?
JetStreamって最初から使えるの?
どんな場面でNATSを選ぶといいの?
KubernetesのサービスメッシュやIoTデバイスの通知など、低レイテンシが重要な場面に向いてるよ。設定がシンプルで、Goで書かれているから軽量に動くのも選ばれる理由のひとつだね。
まとめ:ざっくりこれだけ覚えればOK!
「NATS」って出てきたら「マイクロサービスや分散システム向けの軽量メッセージングツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「NATS (Neural Autonomic Transport System)」 = 神経自律輸送システム
💬 神経系が体内で素早くシグナルを伝えるように、サービス間でメッセージを高速に届けることを目指した名前なんだよ