問題タブ [jms]
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.
java - Java EE アプリケーションのスケーラビリティ。どのようにアプローチしますか?
私は金融業界向けのソリューションに取り組んできました。アプリケーションの主な機能は、大量の入力ファイルを読み込み、それらを消化し、永続ストアの状態を更新し、要求に応じて永続ストアから抽出を生成する機能です。かなり簡単です。
入力ファイルは、多数の繰り返しエントリを含む、業界標準形式の大きな (数百メガバイトを超える) XML メッセージです。永続ストレージはリレーショナル データベースです。エンジンは、J2EE アプリケーション サーバーにデプロイ可能な POJO ベース (バックボーンとしての Spring Framework) Java アプリケーションとして実装されています。
問題は、ソリューションのスケーラビリティとパフォーマンスに関するものです。アプリケーションが XML からのエントリを順番に処理する場合、ソリューションのスケーラビリティはやや劣ります。アプリケーションの複数のインスタンスを 1 つのファイルの処理に関与させる方法はありません。これが、入力 XML ファイルからのエントリの並列処理を導入した理由です。基本的には、ワーカーの個々のエントリの処理をプールからディスパッチするという考え方です。ディスパッチには JMS を使用することにしました。ファイルをロードするコンポーネントはストリームを読み取り、単純に単一のエントリを抽出してディスパッチ キューにフィードします。キューの反対側には多数のコンシューマーが同時にいます。それぞれがキューの 1 つのメッセージを選択してエントリを処理し、すぐに他のエントリを処理できるようになります。これは、Web コンテナー内のサーブレットとよく似ています。このアプローチで特に強力な点は、キューが共有されている限り、リモート サーバーにデプロイされたアプリケーションの個別のインスタンス内にワーカーを配置できることです。残念ながら、すべてのワーカーは永続ストレージを維持する同じデータベースに接続します。データベース サーバーが同時ワーカーからの負荷を処理するのに十分強力でない場合、これがボトルネックになる可能性があります。
このアーキテクチャについてどう思いますか? デザインへの同様のアプリケーションはありましたか?その時、どのようなデザインを選択しましたか?
jboss - JMS メッセージの並列処理?
JMS キューまたはトピックからのメッセージを並行して処理するために、メッセージ リスナまたはメッセージ駆動型 Bean のプールを作成することは可能ですか?
JBoss と JBoss の JMS を使用しています
java - JMSの代替?http reqs からのメール送信を分離するためのもの
さまざまなことを行い、特定のアクションに応じてユーザーにメールを送信する Web アプリケーションがあります。SMTP サーバーまたはバックログに問題が発生した場合に備えて、http 要求スレッドを実際に電子メールを送信することから切り離したいと考えています。過去に、私はこれに JMS を使用しましたが、問題はありませんでした。ただし、現時点では、JMS を実行している Web アプリケーションについては、(セットアップなどの点で) ちょっとやり過ぎだと感じており、他にどのような代替案があるのか疑問に思っていました。理想的には、インプロセスで実行できるもの (JVM/Tomcat) が好きですが、サーブレット コンテキストがアンロードされると、キュー内の保留中のアイテムが disk/db にスワップされます。もちろん、インメモリ Q を含む何かを一緒にコーディングすることもできますが、オープンソース プロジェクトの利点を得たいと考えているので、何かあるとしたら何か疑問に思っています。
JMS が本当に答えである場合、単純な要件に適合するものを知っている人は誰もいません。ありがとう
java - JMS を使用して、断続的に切断されたクライアントにメッセージを保存し、ネットワークが利用可能なときにブローカーに転送する方法はありますか?
ネットワークに断続的に接続されているクライアントがあるアーキテクチャを検討しています。これらのクライアントで作成されたメッセージは、ネットワークが使用できないときに JMS キューに保存し、クライアントがネットワーク上にあるときに中央のメッセージ ブローカーに転送したいと考えています。(ユーザーはダイヤルインなどのネットワークを制御できるため、携帯電話のような断続的な接続ではありません。)
この機能を提供する JMS 実装はありますか?
jms - ActiveMQメッセージグループ化のパフォーマンス
ActiveMQのメッセージグループ化機能を使用した人はいますか?
http://activemq.apache.org/message-groups.html
これは、私が取り組んでいるプロジェクトにとって非常に便利な機能ですが、この機能の拡張性とパフォーマンスに興味があります。私たちのシステムでは、メッセージを約3〜5個のメッセージのグループにグループ化する必要があるため、プロセスの実行中にグループを継続的に追加します。この場合、最終的にはすべてのグループを保存しようとしてメモリが不足するようです。
私はどんな経験/考え/賛否両論にも興味があります。
java - メッセージドリブンビーンセレクター(JMS)
最近、メッセージセレクターを発見しました
私の質問は、実行時にセレクターを動的にするにはどうすればよいですか?
消費者が「FragileISFALSE」というプロパティを持つメッセージのみが必要だと判断したとします。
コンシューマーは、MDBを再デプロイせずに、何らかの方法でセレクターを変更できますか?
注:Glassfishv2.1を使用しています
web-services - SOAP WS を JMS として公開することは (合理的に) 可能ですか?
もしそうなら、メッセージはどのようになりますか?SOAP 要求または応答を含む XML ドキュメント?
これは理にかなっていますか?
java - Java:複数のサーバー間でスレッドを同期する
Windows上のJavaサービスの複数の異なるサーバー間で複数のスレッドの処理を同期する必要があるという問題があります。
このアプリケーションでは、複数のコンシューマスレッドが同じJMSキューからメッセージをプルしています。メッセージは3つまたは4つのグループで送信され、各グループのメッセージが完全に連続して処理されることを確認する必要があります。thread1がメッセージをプルオフし、thread2がそのグループから次のメッセージをプルし、thread2がthread1の処理が完了するのを待ってからメッセージの処理を開始するようにするには、何らかの同期メカニズムが必要です。
スレッドの分散同期メカニズムに関する提案はありますか?あらゆるタイプのソリューションが適しています(JMSソリューション、分散キャッシングなど)。
注:使用しているJMSプロバイダーはActiveMQです。