問題タブ [nats-streaming-server]

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 に答える
1806 参照

java - NATS 永続メッセージ Java クライアント

NATS Streaming Server を Java クライアントと組み合わせて使用​​した経験のある人はいますか? 具体的には、加入者がオフラインのときに送信される Java クライアントを使用してメッセージを取得する方法がわかりません。

Go クライアントを使用して、メッセージをパブリッシュし、後でサブスクリプションを追加して、パブリッシュされたすべてのメッセージを取得できることを確認できます。これは NATS Streaming Getting Startedドキュメントにあり、宣伝どおりに機能します。

いくつかのメッセージを公開します。パブリケーションごとに結果を取得する必要があります。

サブスクライバー クライアントを実行します。--all フラグを使用して、発行されたすべてのメッセージを受信します。

NATS Java clientを使用してこれを実行しようとしています。類似のメソッド呼び出しが見つからないだけなのか、それともその機能が Java クライアントに存在しないのか、私にはわかりません。

これが私が試したことです

これにより、出力が得られます

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

nats.io - Nats どのパターンを使用するか

クラスター化されたマイクロサービス アーキテクチャを使用する場合に使用するパターンをマイクロサービスアーキテクチャの依存関係で質問しました 。

ポイントツーポイントが機能するはずであるという回答を受け取りましたが、読むと: https : //nats.io/documentation/concepts/nats-req-rep/応答する 1 つのサブスクライバーになります。これは、Inventory マイクロサービスがサブスクライブする update-inventory-event をトリガーする注文イベントを配置する場合には機能しません (リンクの例のように)。つまり、在庫が同じ回数だけ更新されるため、クラスター化された環境では機能しませんマイクロサービス インスタンスの量。

Nats を使用してこのシナリオを解決するにはどうすればよいですか?

前もって感謝します!

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 投票する
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 つのインスタンスが特定のメッセージを処理する必要がある場合 (データベースにデータを保存する必要がある場合)、これを実現するにはどうすればよいですか?