問題タブ [publish-subscribe]

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 投票する
4 に答える
449 参照

jquery - ページ内の要素がクリックされるたびに「div」を更新する方法-jquery

フォーム要素にクリックイベントがあるときはいつでも要素をリロードしたかったのです。誰かがjquery構文で私を助けることができますか?何かのようなもの

function addClickHandlers() { $.publish('refreshDiv'); }

ここで、divのreloadTopicはrefreshDivに設定されています

ありがとう

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

web-applications - PubSubの基本-多くのフォロワーのシナリオ?

ユーザーがお互いをフォローできるWebアプリがあります。あるユーザーがアクションを公開したときに、そのアクションをフォロワーのフィードに表示したいと思います。簡単なアプローチは、ユーザーごとにfeed.xmlファイルを保持することです。これは次のように更新されます。

UserAの後にUserB、UserCが続きます。

UserAはいくつかのコンテンツを公開しています。

次のようなUserB、UserCxmlフィードを更新します。

これはpubsubのようなものです(私は思います)。ただし、リアルタイムである必要はありません。多くのフォロワーのケースがどのように処理されるかはわかりません。ユーザーに100万人のフォロワーがいる場合、ハブはそこに座って100万人のサブスクライバー全員に通知する必要はありませんか?ハブが単一のサーバーで実行されている場合、これはCPUを長時間拘束する可能性がありますね。

ありがとう

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

php - サーバーサイドプッシュ用のスケーラブルなソリューション?

クライアントがサブジェクトへの関心をサーバーに登録し、関心が登録された後にサーバーから非同期通知を受信できるようにするRESTfulAPIを提供するメカニズムを実装したいと思います。エンタープライズ(メッセージング)アーキテクチャでは、これはパブリッシュ/サブスクライブ「パターン」として知られています。

デスクトップアプリケーションでは、これは簡単に実現できますが、Webアプリケーションでは、より困難であることが証明されています。

パブリッシュ/サブスクライブパターンをWebアプリケーションに適用できるようにする(できればオープンソースの)フレームワークまたはライブラリはありますか?

サーバーサイドテクノロジーは、C、C ++、PHP、Python、Rubyのいずれかの言語で使用できます。

LinuxUbuntu10.0.4で実行しています

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

publish-subscribe - パブリッシュ/サブスクライブ モデルによるメッセージの一括送信

通知モジュールを実装しようとしています。Web サイトの内部ユーザーが互いにメッセージを送信できるようにします。重要な機能は、ビジネス ユーザーが大量のメッセージをユーザーに送信できることです。ここでは、何百万人ものユーザーについて話しています。

現在、パブリッシュ/サブスクライブ モデルになる予定です。ログインすると、システムはデータベーステーブルからユーザーに関連するメッセージを取得します。各ユーザーが受信したメッセージを削除して返信できるようになると、ロジックはますます複雑になります。

Pubsubhub は、より多くのサーバーからサーバーへのようです。XMPP は、このシナリオには複雑すぎるようです。

私が見逃しているものはありますか?もっと簡単にできますか?構築する既存のライブラリはありますか? 私はどんな提案にもオープンです。

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

queue - トピックでは達成できないすべての機能がキューにありますか?

トピックでは達成できないすべての機能がキューにありますか?

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

web-services - REST ベースの Web サービスで非同期要求応答を実装する方法

REST ベースの Web サービス システムがあります。ここでパブリッシュ/サブスクライブ モデルをサポートする方法を見つける必要があります。ご存じのように、REST クライアントとサーバー間の通信は HTTP プロトコルです。バックエンドで apache (PHP) Web サーバーを使用して、すべての REST 要求を処理しています。問題は、この種の Pub/Sub モデルをサポートするために、PHP など (Web サーバー側で) をどのように使用するかです。1 つの典型的なシナリオは次のとおりです。

1) クライアントはオブジェクトの変更をサブスクライブします (GET /config/object/?type=async) 2) 非同期呼び出しであるため、クライアントはこの要求でブロックしません。3) サーバーはサブスクリプションを受け入れ、イベントを待ちます。4) サーバーは、イベントの発生時に必要なデータをクライアントに発行します。

基本的に、上記の 4 つの手順をすべて実装する方法を知る必要があります。

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

c# - スレッドセーフパブリッシュ.Netでサブスクライブ

単純なインターフェイスのセットと、アイテムの追加と削除を汎用ディクショナリに公開できるクラスを作成しました。サブスクライバーは、サブスクライブ時にリスト全体を受け取り、その後は変更のみを受け取ります。

私のソリューションは機能しますが、もう少し標準的なもの、もう少し自家製のものを探しています。何か提案はありますか?

私がこれまでに見つけたものに関するメモ:

私はMicrosoftのReactiveExtensions(Rx)を見てきました。JonSkeetの記事「LINQtoRx:secondimpressions」[1]によると、「オブザーバブルがサブスクライブするとすぐに、オブザーバブルはシーケンス内のすべてを(デフォルトでは別のスレッドで)公開します。サブスクライブへの個別の呼び出しオブザーバブルをシーケンス全体で複数回繰り返すようにします。」これは基本的な考え方のように聞こえますが、具体的な例が見つからず、「Subject」または「AsyncSubject」のスレッドセーフについてはまだよくわかりません。

私の自家製ソリューションに関するメモ:

サブスクライバーに配信される構造は次のようになります。

サブスクライバー自身がこのインターフェースを実装する必要があります。

そしてもちろん、私の汎用辞書パブリッシャークラスには次のメソッドがあります。

[1] https://codeblog.jonskeet.uk/2010/01/19/linq-to-rx-second-impressions/

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

java - モジュールクラスタリングとJMS

(コンテナなしで)スタンドアロンで実行され、JVMを介して他のモジュールと通信するモジュールがありますJMS。私のモジュールは、あるキューのプロデューサーと別のキューのコンシューマーの両方です。次に、HAの理由とワークロードの理由の両方で、このモジュールをクラスター化する必要があります。エンティティのクラスター化には、おそらくTerracotta+Hibernateを使用します。現在、私のアプリが起動するExecutors.newSingleThreadExecutor()と、コンシューマーとして機能するスレッド(を介して)が起動します(関連性があり、必要な場合は、実際のコードサンプルを添付できます)。

ここで質問を読んで理解したことは、モジュールをN別の場所で起動するとJVMsN別のサブスクライバーが作成さ、キュー内の各メッセージがサブスクライバーに到着するということNです。私がやりたいのは、そのうちの1つだけ(現在、どちらが重要ではないかを言いましょう)にそのメッセージを処理させることです。したがって、実際にNは、一度にメッセージを処理できます。

これはどのように行うことができますか?私は軌道から外れていますか?

ところで、私はOpenMQ実装として使用していますが、それが適切かどうかはわかりません。

助けてくれてありがとう

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

java - Java と .Net の間の PubSub

Java クライアントからのサブスクリプションを許可する .Net 用の優れた無料サービス バスはありますか? 私は NServiceBus を使用しており、流暢な API とシンプルさが気に入っていますが、Java クライアントや Web サービス ベースの接続用の WCF 統合をサポートしていません。

ありがとう!

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

.net - 大きなファイルをメッセージ ペイロードとしてパブリッシュ/サブスクライブする

多くのファイルを継続的に処理する既存のシステムがあります。大まかに言えば、1 日に約 300 万個のファイルがあり、そのサイズは数キロバイトから 50 MB を超えるものまでさまざまです。これらのファイルは、パスに応じて、受信時から消費が完了するまで、いくつかの異なる処理段階を経ます。これらのファイルの内容と形式により、小さなチャンクに分割することはできません。

現在、これらのファイルが移動するワークフローは厳格であり、入力と出力が固定されたコードによって決定されます (多くの場合、1 人のサブスクライバーが新しいファイル セットのパブリッシャーになります)。しかし、この柔軟性の欠如が問題を引き起こし始めているため、新しい要件を処理できるようにするためのある種の pub/sub ソリューションを検討しています。

ほとんどの従来の pub/sub ソリューションでは、実際のペイロード内にデータが含まれていますが、ファイル サイズが大きくなる可能性があるため、多くのメッセージング プラットフォームの制限を超えています。さらに、複数のプラットフォームが使用されています。ファイルはパスに応じて Linux 層と Windows 層の両方を通過します。

次の目標を念頭に置いて、設計および/または実装に関する推奨事項はありますか?
1. pub と sub の両方のマルチプラットフォーム (Linux と Windows)
2. 永続的なストレージ/ストア アンド フォワードのサポート
3. 大きなイベント ペイロードを処理でき、すべてのサブスクライバーにサービスが提供されると適切にクリーンアップできます
4. ルーティング/ワークフローは構成によって実行されます
5. サブスクライバーは、条件の変更に基づいてフィルター処理された一連の公開イベントをサブスクライブできます (例: 特定のタイプのファイルのみを提供する)。

私は多くのサービス バスと MQ の実装を掘り下げてきましたが、どのツールが最も意味があるかを適切に評価するのに十分な設計アプローチを確立することはできませんでした。ご意見ありがとうございます。