NATS serverは、サービス、デバイス、エッジシステムをつなぐ高性能なメッセージングシステムで、CNCFの一員です。
nsqio/nsq
NSQは、単一障害点を持たずに非常に大量のメッセージを処理できるよう設計された、リアルタイム分散メッセージングプラットフォームです。
- スター
- 25,771
- フォーク
- 2,884
- 未解決の Issue
- 82
- 最終コミット
- 2 か月前
これは何?
NSQは、サービス間でリアルタイムにメッセージをやり取りするためのメッセージキューです。分散型かつ非中央集権型のトポロジーを採用しているため、障害によってシステム全体が停止する単一のブローカーは存在せず、高可用性と信頼性の高い配信を目指しています。
導入は簡単です。すべてのパラメーターはコマンドラインで指定でき、コンパイル済みバイナリに実行時依存関係はありません。NSQはペイロード形式に依存しないため、メッセージにはJSON、MsgPack、Protocol Buffersなど、任意の形式を使用できます。公式のGoおよびPythonクライアントライブラリに加え、多数のコミュニティ製クライアントと、新しいクライアントの開発に使える仕様書付きのTCPプロトコルが提供されています。
Linux、Darwin、FreeBSD、Windows向けのバイナリリリースが公開されており、公式Dockerイメージも利用できます。
主な機能
- 01単一障害点のない非中央集権型トポロジー。
- 02信頼性の高いメッセージ配信を保証。
- 03コマンドラインパラメーターだけで設定でき、実行時依存関係も不要。
- 04JSON、MsgPack、Protocol Buffersなど、形式を問わないペイロードに対応。
- 05公式のGoおよびPythonクライアントライブラリと、仕様書付きのTCPプロトコルを提供。
ユースケース
- マイクロサービス間で大量のイベントをリアルタイムにやり取りする。
- 分散バックエンドでメッセージの送信側と受信側を疎結合にする。
- Linux、Docker、Windowsサーバー上でセルフホスト型のメッセージング層を運用する。
クイックスタート
- 1
リリースページから、お使いのプラットフォーム用のバイナリリリースをダウンロードしてください
- 2
または、Dockerデプロイのドキュメントに記載されている手順で公式Dockerイメージを実行してください
使う前に知っておきたいこと
- masterブランチは開発用ブランチのため、常に安定しているとは限りません。
収録されている特集
トピック
よくある質問
- nsq とは?
- NSQは、単一障害点を持たずに非常に大量のメッセージを処理できるよう設計された、リアルタイム分散メッセージングプラットフォームです。 NSQは、サービス間でリアルタイムにメッセージをやり取りするためのメッセージキューです。分散型かつ非中央集権型のトポロジーを採用しているため、障害によってシステム全体が停止する単一のブローカーは存在せず、高可用性と信頼性の高い配信を目指しています。
- nsq は無料で使えますか?ライセンスは?
- nsq は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- nsq は今もメンテナンスされていますか?
- 半年以内に更新あり。nsq の最終コミットは 2026年8月11日 です。
- nsq は何に使えますか?
- マイクロサービス間で大量のイベントをリアルタイムにやり取りする。 分散バックエンドでメッセージの送信側と受信側を疎結合にする。 Linux、Docker、Windowsサーバー上でセルフホスト型のメッセージング層を運用する。
- nsq のインストール方法は?
- リリースページから、お使いのプラットフォーム用のバイナリリリースをダウンロードしてください または、Dockerデプロイのドキュメントに記載されている手順で公式Dockerイメージを実行してください
- nsq はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/nsqio/nsq
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
既存のバックエンドに信頼性の高い双方向WebSocket・SSE通信を追加するオープンソースのリアルタイムサーバー。
Javaバックエンド開発者向けの面接対策ナレッジベース。並行処理、分散システム、マイクロサービス、ビッグデータを扱います。
キャッシュ、データ構造サーバー、ドキュメントストア、ベクトルデータベース、メッセージブローカーとして使えるインメモリデータストア。
SQLite、リアルタイム購読、ファイル・ユーザー管理、管理UIを備えた単一実行ファイルのGo製オープンソースバックエンド。
ゲームやアプリ向けにマルチプレイヤー、マッチメイキング、リーダーボード、チャット、ソーシャル機能を提供するオープンソースのゲームバックエンドサーバー。