タグ

memcachedとConsistent Hashingに関するkistame228のブックマーク (2)

  • mixi Engineers’ Blog » スマートな分散で快適キャッシュライフ

    今日は以前のエントリーで書くと述べたConsistent Hashingに関して語らせて頂こうかと思います。ただしConsistent Hashingはセミナーやカンファレンスなどでかなり語られていると思いますので、コンセプトに関しては深入りせず、実用性に着目したいと思います。 問題定義 分散されたキャッシュ環境において、典型的なレコードを適切なノードに格納するソリューションはkeyのハッシュ値に対しmodulo演算を行い、その結果を基にノードを選出する事です。ただし、このソリューションはいうまでもなく、ノード数が変わるとキャッシュミスの嵐が生じます。つまり実世界のソリューションとしては力不足です。 ウェブサイトのキャッシュシステムの基はキャッシュがヒットしなかったらデータベースにリクエストを発行し、レコードが存在したらキャッシュしてクライエントに返すという流れです。ここで問題なのが一瞬

    mixi Engineers’ Blog » スマートな分散で快適キャッシュライフ
  • Consistent Hashingな拡張モジュール - Do You PHP はてブロ

    Consistent Hashingについては以下を参照。要は「キャッシュを分散させた場合で分散させる数が変わったときに、「orz」とならないようにするための仕組みの1つ」な感じです(多分)。 http://www.hyuki.com/yukiwiki/wiki.cgi?ConsistentHashing mixi engineer blog で、それを実現するためのCライブラリとしてlibketamaがあります。 API – Last.fm このlibketamaのソースにはPythonJavaPHPの各バインディングが含まれているようなので、ちょっと使ってみました。 まずは、ソースをcheckout。使用リビジョンは398です。 $ svn co svn://svn.audioscrobbler.net/misc/ketama $ build手順は以下の通り。Makefileを置換

    Consistent Hashingな拡張モジュール - Do You PHP はてブロ
  • 1