ネットサービスの開発に役立ちそうな話題を中心にお届けします。
F.Ko-Jiの「一秒後は未来」 > Javascript > Gadget Party裏話「ブログパーツのJSONPを静的ファイル化して負荷に耐える」
2009年09月04日 15:54
887日前に投稿

Gadget Party裏話「ブログパーツのJSONPを静的ファイル化して負荷に耐える」

  • ... PV
  • このエントリーをはてなブックマークに追加

スポンサード リンク

裏話ってほどでもないのですが、先日リリースした Gadget Party (ガジェットパーティー) で工夫したところなどをブログに書いてみようと思います。

Gadget Partyではブログパーツを用意しています。このブログパーツにはユーザーが持っているガジェットと、ユーザと似ているガジェッターを表示することができます。

gadgetparty-blogparts-big.gif

当然これらの情報は、ユーザーがガジェットを登録すると変更されます。それ以外にも、ガジェットの写真が変更されたり、表示順を並べ替えたりすることでも変更されます。そのため、ブログパーツの表示もそれにあわせて変えなければなりません。

それを簡単に実現するには、ブログパーツのJavaScriptに返すJSONデータを動的に生成させればよいわけですが、ブログパーツが表示されるたびにプログラムを叩いてしまうとサーバの負荷が高くなってしまいます。特にページビューの多いブログに貼られてしまうと大変なことになってしまいます。

そこでGadget PartyではJSONPのデータを静的ファイルとしてあらかじめ書き出しておくことにしました。JSONPを書き出しているタイミングは、

  • ユーザー登録が完了したとき
  • ガジェットをマイガジェットに追加したとき
  • ガジェットをマイガジェットから外したとき
  • ガジェットを並び替えたとき
  • ガジェットの写真を変更したとき
  • 似ているガジェッターの計算処理が走ったとき

などなどです。これらの処理の最後にJSONPの書き出し処理を入れることで、なるべくブログパーツで表示するデータが最新の状態になるようにしています。

元々リリース直前までJSONPを動的生成させていたため、ブログパーツの表示が他のコンテンツの表示に影響を与えないように、ブログパーツのコンテナを先に生成させておいて、onloadでJSONPをリクエストするという方式をとっていました。

が、静的ファイル化しているならonloadでリクエストする必要もないので、ブログパーツのJavaScriptの実行時にJSONPをリクエストするように直しました(ここは今朝実装)。これでブログパーツの表示も高速化しているはずです。

というわけで、ブログパーツで使うJSONPを静的ファイル化しておくと色々と嬉しいことがありますよ、というお話でした。

スポンサード リンク

Written by
Meity.jp - 「DM送りたいのでフォローしてください」とかめんどくさくないですか?


トラックバック

このエントリーのトラックバックURL:

この一覧は、次のエントリーを参照しています: Gadget Party裏話「ブログパーツのJSONPを静的ファイル化して負荷に耐える」:

» Gadget Party裏話(その2)「ガジェットの画像がうまく取得できません!」 from F.Ko-Jiの「一秒後は未来」
前回は「ブログパーツで使うJSONPを静的化する」ことについて書きましたが、今回は Gadget Party のひとつのキモになっている「ガジェット画像の... [詳しくはこちら]

Javascript / プログラミング

English version

前のエントリー: « ガジェッターのためのガジェットコミュニティー「Gadget Party」本日リリース!
次のエントリー: 梅酒が飲める飲食店データベースをAPIを使って構築する方法 »

コピペにご利用ください。

タイトル:

URL:

リンク用HTMLタグ: