asopi tech
asopi techIndie Developer

Asopitech VS

NATS vs Alopex Chirps

NATSのサブジェクトによるメッセージング、JetStreamの永続化を、Alopex Chirpsと比べて紹介します。

更新: 2026/10/13

NATSとは

NATSは、オープンソースのメッセージングシステムです。アプリはNATSのサーバーに接続し、互いのネットワーク上の場所を知らずに、サブジェクトでメッセージをやりとりします。

仕組み

  • サーバー:メッセージはNATSのサーバーが運びます。サーバーは1つのバイナリで、クラスタ、JetStream、MQTT、WebSocketも同じプロセスの設定です。
  • Core NATS:メッセージは、送った時点で接続している購読者にだけ届きます。
  • JetStream:永続化の層を足し、少なくとも1回の配送と、再生を可能にします。

主な機能

  • 発行と購読、リクエストとリプライ、キューグループ。
  • JetStreamのストリーム、コンシューマー、KVストア、オブジェクトストア。
  • 多くの言語の公式クライアント。

制限

アプリはNATSのサーバーにつながって使います。サーバーのクラスタを運用する必要があります。

Alopex Chirpsとの違い

どちらも、ノードの間でメッセージを運びます。

NATSは、サーバーを介して、サブジェクトでメッセージを届けます。Alopex Chirpsは、アプリに組み込むライブラリで、ノードどうしがQUICで直接やりとりします。宛先はノードIDで、相手の一覧と生死はgossipのメンバーシップで分かります。Raftによる合意も同じライブラリにあり、メッセージの順序をそろえたい処理は合意に載せられます。

サーバーを介さずノードどうしで直接メッセージを送り合えるAlopex Chirpsを試してみよう。GitHubのクイックスタートから始められます。

参考資料

関連ページ