0

接続された各ユーザーがカテゴリごとに異なるデータを持つ可能性があるストリーミング API を設計する必要があります。

2 人のユーザーがストリーミング API からのスポーツ (カテゴリ) の rss フィードに興味を持っているとしますが、各ユーザーはサーバー上に独自のフィルタリング メカニズムを持っているため、異なるプッシュ データ セットが生成されます...

juggernautを使用すると、カテゴリ (チャネル) を介してデータをストリーミングできますが、ユーザーのフィルター設定に応じて、サーバー側でカテゴリごとにデータの一部をフィルター処理する方法が見つかりませんでした。

4

1 に答える 1

1

通常、チャネルはデータのフィルタリングに使用されます。つまり、1 つは /SPORT/FOOTBALL/PREMIERLEAGUE/MANU、もう 1 つは /SPORT/FOOTBALL/CHAMPIONSHIP/WESTHAM および /SPORT/GOLF/USMASTERS 用です。

チャンネルへのサブスクリプションを介して追加のフィルタリングを提供するリアルタイム コメット サーバーを 1 つだけ知っています。それはCaplin System の Liberatorです。例(疑似コード):

var subscriber = new Subscriber();
var filter = "headline~transfer"; // where '~' means contains
subscriber.subscribe("/SPORT/FOOTBALL/PREMIERLEAGUE/MANU", filter, function(update) {
   // handle update
});

上記のコードはチャネルを購読しますが、更新はいつでも送信され、更新はheadlineフィールドにテキストが含まれている場所に届きますtransfer

このクエリ機能を提供すると思われる別のソリューションはpubsub.ioです。彼らのサイトから:

// connect from node
var pubsub = require('pubsub.io').connect('hub.pubsub.io/238258');
// or the browser
var pubsub = pubsubio.connect('hub.pubsub.io/238258');

pubsub.subscribe({
    hello:{$any:['world','mundo','verden']}
}, function(doc) {
    console.log(doc);
});

pubsub.publish({hello:'world'});

この種のチャネル クエリは、ますます多く見られるようになる可能性があります。

于 2011-09-29T10:13:10.073 に答える