| NATS | |
|---|---|
| 開発者 | クラウドネイティブコンピューティング財団 |
| 初回リリース | 2011年[ 1 ] |
| 安定版リリース | 2.12.2 / 2025年11月13日 (2025年11月13日) |
| リポジトリ | github |
| 書かれた | 行く |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | メッセージブローカー、メッセージ指向ミドルウェア |
| ライセンス | アパッチ2.0 |
| Webサイト | www.nats.io |
NATS(Neural Autonomic Transport System、ニューラル・オートノミック・トランスポート・システム)[ 2 ]は、Cloud Native Computing Foundationの管理下で開発されたオープンソースのメッセージングシステムです。NATSサーバーはGoプログラミング言語で記述されています。サーバーとインターフェースするためのクライアントライブラリは、数十の主要プログラミング言語で利用可能です。NATSの中核となる設計原則は、パフォーマンス、スケーラビリティ、そして使いやすさです。[ 3 ]
NATSはもともと、 Cloud Foundryのメッセージング制御プレーンとしてDerek Collisonによって開発され、 Rubyで書かれていました。NATSは後にGoに移植されました。
ソースコードはApache 2.0ライセンスに基づいて公開されています。NATSは以下のもので構成されています。
- NATS サーバー- NATS のコア パブリッシュ/サブスクライブ サーバー。
- さまざまなプログラミング言語用のクライアント ライブラリ。
- コネクタフレームワーク- NATS と他のサービスを接続するためのプラグ可能なJavaベースのフレームワーク。
NATSサーバーは、「コアNATS」または「JetStream」付きのNATSと呼ばれることが多い。「コアNATS」は、コアNATS機能とサービス品質のセットである。「JetStream」は、ストリーミング、キュー、少なくとも1回と正確に1回の配信保証、履歴データの再生、分離されたフロー制御、キー/値ストア機能をコアNATSに追加する(オプションで有効化可能)組み込みの永続化レイヤーである。[ 2 ] JetStreamは、従来のSTAN(NATSストリーミング)アプローチに取って代わった。[ 4 ]
例
以下は、demo.nats.ioサイトへのtelnet接続からの接続文字列のサンプルです。[ 5 ]
107.170.221.32を試行中... demo . nats . ioに接続しました。エスケープ文字は' ^] 'です。情報{ "server_id" : "NDRF5QLHFSLGQTXSAWZNVAMW3GWCJVBAORUPP2HTQHLI5WE5LFNYRKIO" 、"server_name" : "us-south-nats-demo" 、"version" : "2.12.0" 、"proto" : 1 、"git_commit" : "fc6ec64" 、"go" : "go1.25.1" 、"host" : "0.0.0.0" 、"port" : 4222 、"headers" : true 、"tls_available" : true 、"max_payload" : 1048576 、"jetstream" : true 、"client_id" : 3238 、"client_ip" : "2605:a601:a0ee:300:ed90:b74e:e247:4a06" 、"nonce" : "4SC3P0RhVN_M3Do" 、"api_lvl" : 2 、"xkey" : "XA3TOTU4N62FAOTGIBMXJTQK3H3PJX4G5OI4G66XURCIG4UGL47SK7YS" }参考文献
- ^「リリース v0.3.12 · nats-io/Nats.rb」。GitHub 。
- ^ a b「NATS FAQ」。
- ^ 「NATSドキュメント」。
- ^ 「NATS ジェットストリーム」。
- ^ 「NATSプロトコル」 . NATSドキュメント. 2016年5月6日閲覧。
参照
さらに読む
- Aslam, Asim. 「Micro on NATS - Microservices with Messaging」 . Micro Blog . 2016年4月22日時点のオリジナルよりアーカイブ。2016年5月6日閲覧。
- ヴェルトハイム、ダニエル (2016年4月27日). 「NATS - なんと美しいプロトコル」ダニエルヴェルトハイム. 2016年5月4日閲覧。
- リギンズ、ジェニファー (2015年12月15日). 「RESTの代替手段であるNATSが分散システム向けのメッセージングを提供する仕組み」 TheNewStack . 2016年5月6日閲覧。
- Monteiro, Diogo. 「サービス間通信にHTTPではなくNATSを使用する」 . Diogo GMT . 2018年7月17日時点のオリジナルよりアーカイブ。 2016年5月2日閲覧。
- Sohlich, Radomir (2016年4月23日). 「NATSからRESTプロキシへ」 . NATSブログ. 2016年5月1日閲覧.
- Gracely, Brian; Delp, Aaron. 「NATS - クラウドネイティブ・インフラストラクチャ」 . The CloudCast . 2015年12月23日閲覧。
- 「1000万以上の同時接続に対応するシグナリングシステム」 . Greta.io . Greta. 2016年3月21日. 2016年5月6日閲覧.
- Treat, Tyler (2016年2月13日). 「メッセージキューのレイテンシのベンチマーク」 Brave New Geek .
- Fulton III, Scott (2016年7月18日). 「NATS、永続性を備えたリアルタイムメッセージストリーミングへ移行」 . The New Stack . 2016年7月19日閲覧。
- 「NATSとオープンソースの整合性の保護」 CNCF 2025年4月24日2025年4月25日閲覧。