私は彼のtwitterフィードからつぶやきを引っ張って、別のフォーマットで表示する私のお父さんのためにthisウェブサイトを実行します。現在、つぶやきは完全にクライアント側のjavascriptを使用して取得されています。物事を行う最も効率的な方法ですか?ウェブサイトはヒット率の横にあるが、私はそれを拡大縮小する最良の方法が何であるかに興味があるだけだ。どんなアドバイスも素晴らしいでしょう。また、ある時点でストリームに記事を含めることも考えています。それを実装する最良の方法は何でしょうか?つぶやきを取得するサーバー側またはクライアント側?
答えて
Twitter APIリクエストはrate limited to 150 an hourです。ページがそれ以上要求された場合、Twitter APIからエラーが発生します(HTTP 400エラー)。したがって、サーバー上のつぶやきをリクエストして、一定の期間、レスポンスをキャッシュすることをお勧めします。最新のつぶやきを1時間に150回までリクエストすることができ、いつでもページをリクエストすると、APIを直接呼び出すのではなく、サーバー側のスクリプトからキャッシュされたつぶやきを受け取ることができます。 Twitterのドキュメントから
:
非認証の呼び出しは、毎時150個の要求を許可されています。 認証されていないコールは、要求を行ったサーバまたはデバイス の公開されているIPに対して測定されます。
私は最近、あなたと全く同じ方法でTwitter APIと統合した仕事をしました。私たちは、アプリケーションをテストしている間でも、レート制限を非常に迅速に打ち上げました。そのアプリは今やサーバーでつぶやきをキャッシュし、1時間に数回キャッシュを更新します。
ツイートサーバー側をプルすると、すべてのツイートトラフィックがサーバーにルーティングされます。そのため、すべてのトラフィックがサーバから送信され、ウェブサイトのパフォーマンスが低下する可能性があります。
クライアント側では使用できないつぶやきで魔法のことをやっていないなら、私はあなたの現在の解決策に固執するべきです。それに何も間違っていないし、それは驚異的なスケールです(あなたがTwitterのサーバーよりも優れていると仮定すると);
あなたのつぶやきをクライアント側から引き出すことは、スケーラビリティの点では明らかです。私は記事を追加することに関する2番目の質問であなたが探しているものを理解していません
私はあなたがそれを行うことができればクライアント側に行くと思います!それは、ブラウザを使用して帯域をプッシュします。サーバーへの負荷を軽減します。私はそれもスケーラブルだと思う。あなたのクライアントがWebリクエストを行うことができる限り、あなたのサイトを表示することができます!それよりも簡単にはなりません!あなたのサーバーは決してボトルネックにはなりません!
APIを使用して記事を入手できる場合は、現在の設定に固執して、クライアント側をすべて維持します。
本当に低需要のものについては、本当に大したことではありません。ユーザーあたりのタスク数が多い場合は、サーバー側を検討することをお勧めします。多数のユーザーがいて、1人のユーザーあたり数個のタスク(ツイートが取り込まれるなど)がある場合は、おそらくクライアント側のAJAXを使用してください。あなたの記事を含める限り、私はおそらくあなたと一緒に作業するデータのサイズのためにサーバー側に行くだろう..
クライアント側でTwitter APIを呼び出すことをおすすめします。サーバーの呼び出しは避けてください。クライアントサイドのjを使用することの唯一の欠点は、ビューアがjsを非アクティブにするかどうかを制御できないことです。
ストリームにどのような記事を追加しましたか?あなたのウェブサイトや外部の記事に直接投稿されたブログのようなものですか?
ありがとうございます。私のOCDをパフォーマンスに惑わしたいのであれば、jsonとしてキャッシュするほうが良い(例えば1時間に1回)と、クライアントをダウンロードしてjson(クライアント側)を使ってページを埋めるか、 、その後、例えばPHP(サーバ側)を使ってページを前処理しますか?私はそれが理にかなったことを願う – neutrino
私がやったやり方は、単純にサーバー側のスクリプトにキャッシュされたJSON文字列を返すことです。いずれにしてもうまくいくので、それは本当にあなた次第です。私の場合、サーバーからの応答が同じ形式であった場合にのみ機能していた既存のJSを維持する方が迅速かつ簡単でした。 –
はい、ありがとう、ありがとう。 – neutrino