問題タブ [nats.io]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1555 参照

nats.io - NATS パブリッシュ/サブスクライブ確認

過去数日間、NATS および NATS ストリーミング サーバーでいくつかの POC を行ってきました。NATSストリーミングサーバーと同じようにJavaクライアントを作成し、NATSサーバーと一緒にクラスター化されたNATSストリーミングサーバーとの間でメッセージを発行/購読することから始めました。guidsNATS ストリーミングは、ストリーミング サーバーがパブリッシャーからメッセージを受信したときに確認応答を提供するという非常に優れた機能です。AckHandlerを登録して次のように使用することで、これを達成しました。

guidしかし、NATS サーバー (ストリーミングではない) を見始めたとき、メッセージが正常に発行されたことを示す確認応答を提供できるような AckHandlers (またはその他のもの) を見つけることができませんでした。

NATS ストリーミング サーバーには、私が探している多くの機能が組み込まれています。たとえば、message acknowledgements(max_ageメッセージの TTL)durable subscriptionsなどです。一方、NATS サーバーはクラスタリング機能を提供しますが、NATS ストリーミングが提供する他の機能を見つけることができませんでした (ドキュメントで見逃していない限り)。

NATS と NATS ストリーミング機能の概要を 1 つの表にまとめて参照するという未解決の問題があることは知っていますが、現時点ではまだ解決されていません。

メッセージが NATS サーバーに公開されると、NATS サーバーは確認応答を提供しますか? それとも、サブスクライバーの 1 人がサブスクライブしているメッセージの確認ですか?

0 投票する
3 に答える
509 参照

php - PHP NATS クライアントがアイドル時間後に切断される

特定のチャンネルをサブスクライブできる NATS クライアントを開発するために、このライブラリrepejota/phpnatsを使用しています。しかし、接続後、メッセージをほとんど受信せず、アイドル時間が 30 秒ほど続くと、中断することなく切断されます。ただし、Node.js クライアントは同じ NATS サーバーで正常に動作しています。

購読方法はこちら...

提案/ヘルプ???

ありがとう!

0 投票する
1 に答える
408 参照

message-queue - NATS - マイクロサービス アーキテクチャで発行されたイベントに対してアクションを実行するサブスクライバーは 1 つだけです

私は NATS を初めて使用し、 https ://nats.io/documentation/concepts/nats-messaging/ のすべての例を読みました。

私は、マイクロサービス-Y (MSY) で、他のマイクロサービス-X (MSX) から公開された情報を保存する必要がある Microservciarchitecture にいます。MSY の 2 ~ 10 のインスタンスがあるため、MSX で変更が行われ、MSX インスタンスがイベントを公開すると、必要なイベントが発行されます。 MSY の 1 つのインスタンスのみが情報を保存する必要があるため、すべてのインスタンスが同じデータを保存するわけではありません。Request-Repy: https://nats.io/documentation/concepts/nats-req-rep/を読み ましたが、すべてのインスタンスがポイントツーポイントであってもメッセージを受信 (および処理) しているようです。返信は、返信が最も速い 1 つのインスタンスに対してのみ処理されます。

これは正しいですか、それとも例を誤解していますか? MSY の 1 つのインスタンスが特定のメッセージを処理する必要がある場合 (データベースにデータを保存する必要がある場合)、これを実現するにはどうすればよいですか?