問題タブ [masstransit]

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

c# - AppHarbor MassTransit CloudAMQP が例外をスローし、指定されたエンドポイントに到達できませんでした

AppHarbor アプリケーションから CloudAMQP LEMUR で Masstransit を使用しようとしていますが、例外が発生します。

「指定されたエンドポイントに到達できませんでした」

Masstransit の構成方法は次のとおりです。

私が使用しているバージョンは次のとおりです。 MassTransit 2.6.3
MassTransit.RabbitMQ.2.6.3
RabbitMQ.Client.2.8.7
Magnum.2.0.1.0

このエラーを解決するにはどうすればよいですか?

ありがとう

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

domain-driven-design - 分散システムでメッセージ用の専用アセンブリまたはライブラリを共有することは一般的な方法ですか?

私は、分散ドメイン駆動設計の背後にあるいくつかの概念の亀裂について話し、概念​​実証を構築しています。システム全体で特定の責任を持つ 3 つの C# ソリューションがあります。

私が持っている解決策は次のとおりです。

  • 書き込みモデル (クライアントからコマンドを受け取り、イベントを作成して送信する)
  • 読み取りモデル (書き込みモデルからイベントを受け取り、データベースを作成し、DTO サービスをクライアントに公開します。潜在的に 2 つの別個のソリューションになる可能性があります)
  • クライアント (サービスを呼び出して必要なデータを取得し、書き込みモデルにコマンドを送信します)

3 つのソリューションはすべて、サービス バスを介してメッセージング (コマンド、イベント) を使用します。(私の場合はMassTransit)。

私の主な質問は、メッセージを含むアセンブリを作成し、各ソリューションがそのアセンブリを参照するのが一般的ですか?

特別評価:この POC で、私が行っていることで奇妙または問題があると思われることはありますか? このタイプのシステムを作成する際に知っておくべき追加情報はありますか?

0 投票する
5 に答える
33684 参照

.net - NServiceBus と MassTransit

NServiceBus と MassTransit に関する長所と短所のリストに苦労しています。

ここにすでにスレッドがあることはわかっていますが、実際には私の質問には答えていません。

これまでに読んだものは次のとおりです。

  1. NServiceBus、はい、ライセンスされており、無料ではありません。
  2. MassTransit、はい、オープン ソースですが、ドキュメントがやや不足しているようです。

NServiceBus は古く、より多くのリファレンスがあります。MassTransit に関する情報を見つけるのは難しいですが、私は心を開いています。しかし、私はしっかりとした解決策を提供しなければならないので、尋ねなければなりません。

ですから、両方のフレームワークの経験がある人にお願いします。なぜ NServiceBus を選ぶべきなのですか? または MassTransit を選ぶべき理由は何ですか?

それはパフォーマンス、セキュリティ、スケールですか?

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

masstransit - MassTransit 要求/応答シナリオでのメッセージの発行のタイムアウト

MassTransit リクエスト/レスポンス シナリオを設定しようとしています。問題は、メッセージが消費者に届かないことです。PublishRequest で「応答待ちタイムアウト」エラーが発生します。ログ ファイルに他のエラーは表示されません。msmq でメッセージが作成されています。

例外情報:

例外の種類: TargetInvocationException 例外メッセージ: 呼び出しのターゲットによって例外がスローされました。System.RuntimeTypeHandle.CreateInstance (RuntimeType タイプ、ブール型 publicOnly、ブール型 noCheck、ブール型 & canBeCached、RuntimeMethodHandleInternal & ctor、ブール型 & bNeedSecurityCheck) で System.RuntimeType.CreateInstanceSlow (ブール型 publicOnly、ブール型 skipCheckThis、ブール型 fillCache、StackCrawlMark & stackMark) で System.RuntimeType.CreateInstanceDefaultCtor (Boolean publicOnly、Boolean skipCheckThis、Boolean fillCache、StackCrawlMark& stackMark)
System.Activator.CreateInstance(Type 型、Boolean nonPublic) で System.Activator.CreateInstance(Type 型) で System.Web.Mvc.DefaultControllerFactory.DefaultControllerActivator.Create(RequestContext requestContext、型 controllerType) で

応答待ちのタイムアウト、RequestId: MassTransit.RequestResponse.RequestImpl 1 configureCallback での 08cfa243-4a88-ba3a-20cf-307f54910000 1.Wait() in d:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit\RequestResponse\RequestImpl.cs:line 124 at MassTransit.RequestResponseExtensions.PublishRequest[TRequest](IServiceBus bus, TRequest message, Action(d:\BuildAgent-03\work\8d1373c869590c5b\src\MassTransit\RequestResponseExtensions.cs: プロデューサーの 31 行目)。 c:\Users\rick\Documents\Visual Studio 2012\Projects\ConsumerTest1\Producer.Website\Controllers\AccountController.cs:line 56 の Website.Controllers.AccountController..ctor()

プロデューサーのセットアップ:

プロデューサー送信メッセージ:

消費者設定:

消費者:

メッセージ:

私は何を間違っていますか?ありがとうございました。

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

asp.net-mvc-4 - Asp.Net MVC 4アプリケーションでMassTransitを初期化する場所はどこですか?

私は3つのプロジェクトで簡単な解決策を持っています:

  1. Asp.NetMVC4Webアプリ-メインのWebサイト
  2. コンソールアプリ-タスクランナー
  3. コンソールアプリ-タスクランナー

MassTrasnsitをキューとして使用して、Webサイトでのアクション(電子メールの送信など)がWebサイトをブロックせず、代わりにキューに公開され、タスクランナーによって処理されるようにしたいと思います。

私の質問は、キュー、Webアプリ、タスクランナーの1つをどこで初期化するか、またはそのための別のコンソールアプリを作成する必要があるかということです。

ps。本番サーバーで実行する場合、コンソールアプリはWindowsサービスになります。

0 投票する
2 に答える
1533 参照

rabbitmq - Autofacを使用したバス構成:RabbitMQとループバックの問題?

なんらかの理由で、masstransit googleグループに投稿できません。参加したのに、このグループに投稿する権限がないと言われました。だからここに投稿します...

今私の問題のために:

私はMassTransitv2.7.2とAutoFacv2.6.3を使用しています。アセンブリをスキャンしてコンシューマーを登録するようにAutofacを構成しようとしています。IConsumerインターフェースを実装するすべてのタイプ。これはうまくいくようです。

バスを構成するときに、MassTransit.AutofacIntegrationアセンブリとLoadFrom(...)拡張メソッドを使用して、コンテナーからのコンシューマーをMassTransitに登録しています。コードは次のとおりです。

ループバックを使用して上記のコードを実行した場合

構成(rabbitmq conifigをコメントアウト)、テストは合格します。

「ループバック」設定をコメントアウトして、

構成、テストは失敗します。(注:rabbitmqキューはすでに稼働しています-私はPOCの一部として使用しています)。具体的には、アサーションで失敗します。

誰かが私がここで何が起こっているのかを理解するのを手伝ってもらえますか?私はMTを初めて使用するので、何かが足りない、または何かが正しく構成されていないことを完全に予想しています。

メッセージサブスクリプションが登録されていない場合、バスは(コンシューマーが登録されていても)どのコンシューマーにも配信できないと想定するのは正しいですか?

どんな助けでも大歓迎です!

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

.net - 非同期ページ - 大量輸送 - Service Bus

ここにある大量輸送機関の使い方を学ぼうとしています。

2 つのコンソールを使用してプロジェクトを作成し、それらを互いに通信させることができます。基本的に、付属のサンプルをたどって、そのように学びました。

現在、大量輸送機関を Web アプリケーションで動作させようとしています。サンプル プロジェクトを使用して VS2010 で新しい Web アプリを作成し、ページにボタンを追加しました。アイデアは、ボタンをクリックするとメッセージがキューに追加され、スターバックス用のサンプル アプリ (公共交通機関に付属するアプリ) を用意して、キュー (キャッシャーまたはバリスタ コンソール) からメッセージを読み取るというものです。 )。つまり、スターバックスの「顧客」プログラムを Web インターフェイスにしようとしています。

問題:

ドキュメントを読んだところ、Application_Start のグローバル アプリでサービス バスを初期化する必要があるようです。これを実行してから、ボタンで呼び出します。私はただ使用します:

初期化中。

私が持っているボタン:

私も試しました:

そして、他のたくさんのもの。

エラーがスローされますが、次の場合:

ServiceBusConfiguratorImpl.cs

言う行:

エラーは次のとおりです。

だから、ちょっと寂しい…。

先ほど言ったように、私が本当にやりたいことは、「顧客」プログラムをスターバックスのサンプルから Web インターフェイスに変更して、Web アプリで公共交通機関を使用する方法を学習できるようにすることだけです。

これを実行する方法に関する実際のサンプルまたはチュートリアルを誰かが持っている場合は、大歓迎です。Google で数時間検索しましたが、役立つ情報が見つかりませんでした.... :S

前もって感謝します、

敬具、ロビン

.net、公共交通機関、MSMQ、C#、サービス バス

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

masstransit - 大量輸送による消費者の死亡-Peek()

MassTransitコンシューマーが実際にメッセージを取得する前にMSMQキューをPeek()できるかどうかについて興味があります。

ステップ/プロセスとは:

1)メッセージがキューに送信されました

2)消費者はそれを取得し、DB更新を行う必要があります-約5秒かかります

3)最初に機能した場合、消費者は2回目の更新を行う必要があります。

私の問題は、最初のDB更新が失敗した場合に、メッセージがキューに残っている場合(つまり、ネットワークの問題でdbに到達できない場合)をどのように処理できるかです。

現在、キューからメッセージを読み取るとすぐに削除され、DBの更新が失敗すると消えます。

さらに、電源障害をどのように処理できますか?つまり、コンシューマーによる「ジョブ」の途中で、それが何であれ(db updateなど)、電源が切れた場合など、プロセスを再実行するにはどうすればよいですか?キュー内のメッセージ?(とにかく私の現在のインスタンスでは)ジョブが新しい​​行をテーブルにプッシュしているとしましょう。つまり、最初に行が存在するかどうかを確認し、メッセージがドロップされるかどうかを確認し、そうでない場合はタスクを実行するコードを記述できますが、最初にプロセス全体を再実行するにはどうすればよいですか?

Peek()キューに入れてからタスクを実行し、キューのメッセージを実際に読んで削除できることを読みましたが、それが大量輸送機関で機能するかどうかを一生理解することはできません...少し失われました...

さらに、Masstransitが持っていることを知っています.RetryLaterが、それをプロセスで使用しますか?Initially-> When-> Then ->.RetryLater佐賀で?

どんなポインタもappeciatedされます

よろしくロビン

編集

PS:私はサガを使用しています...

RetryLaterは次のエラーをスローします:「メッセージは既存のサガでは受け入れられません」

「RetryLater」に他にどのようにアクセスできるかわかりません。

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

msmq - MassTransit メッセージが受信されない

Web サービスと Web サイト間の通信に MassTransit バージョン 2.7.0 を使用しています。Web サービスはメッセージを発行し、Web サイトはメッセージをサブスクライブします。

発行者サービス:

加入者のウェブサイト:

私の開発マシンではすべて正常に動作しますが、ライブ サイトでは動作しません。メッセージは website_subscriptions MSMQ キューに表示されていますが、購読している Web サイトによって取得されていません。サーバーには複数の NIC があるため、それをサポートするためにレジストリ設定を追加しました。エラーなどは発生しません。キューからメッセージが取得されないだけです。

構成またはアクセス許可の問題がありませんか? なぜ機能しないのかを確認する方法はありますか?

[編集] website_subscriptions キューがフレームワークからのすべてのメッセージであることに気付きました: AddPeerMessage と AddPeerSubscriptionMessage。サービスからのすべてのメッセージ (上記の例では SomethingHappened) がエラー キューにあります。