問題タブ [nservicebus3]
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.
nservicebus - NServiceBus ForwardRecievedMessagesTo を使用する理由と、それを使用した場合のパフォーマンスへの影響は何ですか?
ForwardRecievedMessagesTo の使用目的は何ですか?
監査をサポートするための場所をいくつか読みました。メッセージが処理されていることを確認し、再処理していない場合は、ソリューションとして使用することに害はありますか? メッセージが queue_A@server_A に送信され、q_All@server_All にも転送され、メッセージが処理される前に machine_A が回復不能になったとします。このような場合、ハンドラーで q_All@sever_All からメッセージを取得し、メッセージが処理されているかどうかをデータベース テーブルと照合することができます。メッセージを再処理 (パブリッシュまたは送信) しない場合、またはデータベース テーブルに保存します。
また、forwardreceivedmessageto を使用した場合のパフォーマンスへの影響は何ですか? ジャーナリングとどう違うの?
はい、msmq クラスタリングを使用しないようにしています。
nservicebus - NServiceBus V3 WPF アプリ内でエンドポイントを構成する方法
バスのインスタンスを構成しようとすると、次のエラーが発生します。
エンドポイント名を生成できませんでした。Configure.DefineEndpointName(...) を使用して独自の規則を指定してください。
うーん、エンドポイント メッセージのマッピングについてバスに伝える必要があります。私は通常、これを指定するために app.config を使用します。これは、WPF アプリの受け入れに問題なく機能します (私は WPF の専門家ではありません)。
私のWPFアプリ内でapp.configが読み取られていないか、何かが間違っているようです...私のスタートアップコードは次のようになります(winformまたはコンソールアプリで正常に動作します)
助言がありますか...
最終的には、メッセージからエンドポイントへのマッピングを一元的に保存して、すべてのデスクトップ アプリが起動時にこれを読み取れるようにしたいと考えています。すべてのクライアントがアクセスできる中央 DB。この方法でバスを構成する方法の例をいただければ幸いです。
nservicebus - NserviceBus (バージョン 3.2) カスタム構成
初心者はここで助けが必要です。
カスタム構成ドキュメントを調べてきました。ただし、何が欠けているのか、または正しい道を進んでいるかどうかはわかりません。IWantCustomInitialization を使用してその場で (App.Config の代わりに) メッセージ キューを作成し、メッセージをメッセージ キューに送信するようにカスタム構成しようとしています。
メッセージクラスは次のとおりです:-
テストアプリは次のとおりです。
また、App.config は次のとおりです。
次のエラーが発生しています:-
私のような初心者にとって、ポインタ、提案、コメントは大歓迎です。前もって感謝します。
nservicebus - 3.0.3 -> 3.2.2 にアップグレードした後、タイムアウトのために RavenDB を探している NServiceBus エンドポイント
NuGet を使用して、プロジェクト内のすべての NServiceBus 参照を 3.0.3 から 3.2.2 にアップグレードしました。このソリューションの 4 つのサービスについては、NuGet から NServiceBus.Host への参照も提供しました。
バイナリをテスト環境にデプロイしたところ、サービスが起動するようになりましたが、しばらくすると以下のエラーで失敗します。3.2 で必要な追加の構成はありますか?
未処理の例外: Magnum.StateMachine.StateMachineException: Topshelf.Internal.ServiceController`1[[NServiceBus.Hosting.Windows.Windows Host, NServiceBus.Host, Version=3.2.0.0, Culture=neutral, PublicKeyToken=9fc3864 79f8a226c] で例外が発生しました] ] 状態の初期化中、OnStart の処理中 ---> System.Exception: エンドポイントの開始時に例外が発生しました。エラーがログに記録されました。理由: タイプ「RavenTimeoutPersistence」でコンストラクター「Void .ctor(Raven.Client.IDocumentStore)」を呼び出しているときに例外がスローされました。---> Autofac.Core.DependencyResolutionException: タイプ「RavenTimeoutPersistence」でコンストラクター「Void .ctor(Raven.Client.IDocumentStore)」を呼び出しているときに例外がスローされました。---> System.Net.WebExce ption: リモート サーバーに接続できません ---> System.Net.Sockets.SocketExce ption:
nservicebus - NServiceBus 3.2 - NServiceBus.Timeout.Core.TimeoutRunner.CacheExistingTimeouts() での NullReferenceException
以前の NSB 3.2 の問題 (http://stackoverflow.com/questions/10904857/nservicebus-endpoints- looking-for-ravendb-for-timeouts-after-upgrading-3-0-3 )。その変更を実装した後、各サービスの起動中に致命的な例外が発生しました。
各サービス (IWantCustomInitialisation を実装するクラス内) は次のように構成されます。
これは、起動時のログにあります。
c# - NSeviceBus - エンドポイントが切断されたときのパフォーマンスの低下
中央サーバーと多くのリモート PC 間のフォールト トレラント通信に NServiceBus を使用することを検討しています。
私は最新 (3.2) リリースで GateWay サンプルを実行していますが、すべて正常に動作しています。試用版の商用ライセンスでは、3 台のリモート PC に送信するパフォーマンスが優れているようです。しかし - フォールト トレランスをテストするために、PC の 1 つを切断すると、他のサイトはサーバーからメッセージを受信し続けますが、パフォーマンスが大幅に低下することに気付きました - サイトはメッセージを受信するために最大 30 秒待機する可能性があります -おそらく、切断されたサイトの再試行を処理するためにサーバーがビジーであるためです。
これに対する簡単な構成タイプの答えはありますか?
nservicebus - NServiceBus と Windows ServiceBus
新しくリリースされた Windows ServiceBus (Azure ではなくオンプレミス) と NServiceBus の違いを明らかにできる人はいますか?
NSErviceBus ができることをよく知っているので、Windows SB に欠けている可能性のある詳細な回答を探しています。
- キューを使用する単なるメッセージ ブローカーではなく、実際のサービス バスですか?
- メッセージのポリモーフィズムをサポートできますか? (この階層をサポートする他のメッセージとハンドラーをサブクラス化するメッセージ
- 長時間実行されるプロセスと相関
- 規格外
nservicebus - NServiceBus - サブスクライバーの重複イベントをマスターとワーカー間でスケールアウトする
私の主な質問は、NServiceBus でサブスクライバーをスケールアウトする方法です。私が間違っていること、または見逃したことを教えてください。セットアップに関するご質問には喜んでお答えします。
シナリオ:
サブスクライバーをスケールアウトしようとしたときに、間違った動作であることを願っています。マシン01にマスター、マシン02にワーカーがあります。両方のサービスをアンインストールし、マスターのコマンドラインとして「NServiceBus.Production NServiceBus.Master」を使用して再インストールしましたが、ワーカーにはNServiceBus.Workerを使用して再インストールしました. 2 つのスレッドが利用可能で、両方のサービスが正常に動作しています。サービスをオフにしてシナリオの最初の部分を実行したところ、キュー カウントは以下の最初のリストのようになりました。マスターとワーカーの両方にある 816 メッセージに注目してください。Production コマンド ラインでインストールすると、2 つのサービスが同じサブスクリプション情報を共有し、マスターだけがサブスクライブ先のイベントを受け取ると思っていましたが、間違っていました。
キュー カウントの 2 番目のセットは、両方のサービスを起動して処理を終了させた結果です。02 のワーカー サービスが、元の 816 とディストリビューターから渡されたものをどのように処理したかに注目してください。
マスターのゲートウェイ、再試行、およびタイムアウト キューと、ワーカーの再試行およびタイムアウト キューは、サービスの実行前と実行後に、キューとジャーナルの両方で値が 0 だったため、ここにはリストされていません。
// サービス オフ* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ***
FormatName:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor.distributor.control
FormatName:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor.worker
FormatName:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor.distributor.storage
FormatName:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor
FormatName:DIRECT=OS:vm-02\private$\creditalertnotificationprocessor
// サービス ON (および終了) * ** * ** * ** * ** * ** * ** * ** * ** * ** * ****
FormatName:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor.distributor.control
FormatName:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor.worker
FormatName:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor.distributor.storage
FormatName:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor
FormatName:DIRECT=OS:vm-02\private$\creditalertnotificationprocessor
ワーカー構成ファイル...