2017-10-26 11 views
-2

反応コンポーネントの状態をDjangoで動作するバックエンドサーバーにバインドしたいとします。私が達成しようとしているのは、コンポーネントの状態を常に更新するajax呼び出しですが、数秒ごとに常にapi呼び出しを行うと、アプリケーションのパフォーマンスに影響を与える可能性があります。同じように達成する方法。どのように反応成分をデータベース状態にバインドするのですか?

+0

フロントエンドの更新時に懸念事項がDBを更新していますか?または、別のユーザーがDBを変更したときに、あるユーザーのフロントエンドを更新することが懸念されますか? –

+0

後者は私が言うだろう。 –

答えて

0

ポーリングとウェブソケットの2つのソリューションがあります。ポーリングとは、何が変更されたかを特定の間隔で呼び出すことです。それは簡単ですが、あなたが言ったように、非効率的である可能性があります。 WebSocketは、サーバーが何かが変わったときにブラウザにプッシュ通知を送信することを含みます。

This siteは、WebSocketの使い方を紹介しています。それは優れていますが、実装するのがより複雑です。

トラフィックについて判断する必要があります。トラフィックがすべてのユーザーから5秒ごとにポーリングコールを処理できる場合は、はるかに簡単なオプションです。もしそうでなければ、それはウェブソケットです。

+0

スケーリングの事実を忘れないでください。 1000人のユーザーがポーリングしていると、簡単にアプリケーションを終了できます。 – Waize

+0

ありがとう! これについて他の方法はまだ見つかっていないので、私はウェブソケットに固執します。 –

関連する問題