私は一種のウェブサイト追跡システムを構築する予定です。ユーザーがさまざまなリンクをクリックする Web サイトを考えてみてください。一意のユーザー ID とページの識別子によって、すべてのページ ビューが追跡されます。
現在、1 人のユーザーが 20 ページを表示する可能性があります。関連するページとそうでないページがあります。私が追跡したいのは、ユーザーが特定の「パス」をたどるかどうかです。例 「ホームページ」 -> 「製品 A ページ」 -> 「詳細情報ページ」 -> 「購入」 -> 「支払い済み」。これらの各ステップの間に他のページ ビューが存在する場合があります。重要なことは、ユーザーが特定のパターンに従っているかどうかです。さらに、各ステップ間の時間を測定する必要があります (各ページ ビューにはタイムスタンプがあります)。
私は Reactive Extensions で遊んでいますが、私はこの分野の専門家ではないので、これが Reactive Framework の仕事になるのか、それとも他の技術がより適しているのかを知りたいです。
サーバーがウェブサイトのページビューのストリームを取得し、次にイベントをキャプチャするいくつかのファンシーなリアクティブ LINQ クエリを取得することを想像します (ここで助けが必要です)。
次の質問は、(Windows Azure 上で) ロード バランサーの背後でこれをどのようにホストするかということです。2 つのインスタンスを実行し、「ホームページ」ページ ビューがインスタンス 1 に移動し、「製品 A ページ」がインスタンス 2 に移動する場合、これについてどのように通信するか、またはユーザー ID ごとなどのある種のシャーディングを実施する必要がありますか?
最後に、永続性についてはどうでしょうか。保管方法は?イベント キュー パターンにデータを格納し、サーバーの再起動から「再生」するときにすべてをメモリにロードする必要がありますか?
多くの質問があったことは承知していますが、Reactive Extensions の背後にある哲学が大好きです。「クラウドで本番環境に入れる」方法が頭に浮かびません:)
ありがとう!
キャスパー