私は NGO のインスピレーション サイトに取り組む予定で、Facebook 風のイベント ストリームの実装を検討しています。たとえば、「マイケルがアップルパイを勧めた」、「ジョンがチョコレート ケーキについてコメントした」、「< em>Caramel fudge は Alice によって 8 時間前に投稿されました」など。
問題は、これらのイベントはインタレスト ベースであるため、キャラメルとチェリーだけに興味がある人は、アップル パイやチョコレート ケーキを見てはいけません。これには多くの順列があり、ユーザーのパーソナライズされたイベント ストリームをオンザフライで生成すると、かなり高価なデータベース クエリが必要になります。
そこで私の考えは、アクション イベントが発生するたびに何らかのバックグラウンド処理を行うことで、受信ユーザーと投稿されたイベント (おそらく単純な SQL JOIN テーブル) の間の関係を事前に生成することでした。
イベントに対して何百人ものユーザーの好みを比較検討するために必要な作業はかなりの量になるはずです。そのため、作業をトリガーする POST リクエストの一部として行うことはできません。別のプロセス。私は現在、このタスクについてGearmanを検討していますが、提案を歓迎します。
私の代わりに仕事をしてくれる人を探しているわけではありませんが、このようなものを構築した経験がある人がいたら、ぜひ感想を聞かせてください。