タグ

ブックマーク / blog.dakatsuka.jp (3)

  • Consistent HashingをNode.jsで実装してみた

    Node.js から Key Value Store などを利用する際に、キーを複数のノードに分散させる汎用的なライブラリがあったら便利なのではと思い実装してみました。 ソースコードはGitHubで公開しています。ライセンスはMIT Licenseとします。 git clone git://github.com/dakatsuka/node-consistent-hashing.git また、npmでもインストール出来るようにしました。 npm install consistent-hashing 使い方# 基的な使い方は下記の通りです。 var ConsistentHashing = require('consistent-hashing'); var cons = new ConsistentHashing(["node1", "node2", "node3"]); console.

    Consistent HashingをNode.jsで実装してみた
  • Redis の Pub/Sub を使って Node.js + WebSocket のスケールアウトを実現する方法

    Node におけるスケールアーキテクチャ考察(Scale 編)というエントリーを読んで、RedisはPub/Sub型通信をサポートしているという事を知りました。エントリーでも言及されているように、Pub/Subを使えば Node.js + WebSocket サーバをスケールする際に、中継サーバの役割を果たす事が出来るはずです。 そんな訳で実際に Node.js と Redis を使って Pub/Sub の実験を行なってみました。ユーザが別々のNode.jsサーバに接続していてもWebSocketを通してメッセージのやり取りを出来るようにします。 イメージとしてはこんな感じです。 下準備# Ubuntuの場合は apt-get で1発でインストールする事が出来ます。 $ sudo apt-get install redis npmでredisモジュールをインストールします。 $ npm i

    Redis の Pub/Sub を使って Node.js + WebSocket のスケールアウトを実現する方法
    y-kawaz
    y-kawaz 2011/06/20
    おぉ、素晴らしい。
  • node.js + express でセッションストアを Redis に変更する方法

    express のセッションは標準だとメモリストアなので、再起動するたびにセッションが消えてしまいます。そこでセッションストアを Redis にしてセッションを永続化出来るようにしてみます。 下記環境で動作を確認しました。 Node.js v0.4.8 express v2.3.11 connect-redis v1.0.5 npm で connect-redis をインストールします。 var express = require('express'); var RedisStore = require('connect-redis')(express); var app = express.createServer(); app.use(express.cookieParser()); app.use(express.session({ secret: "secret key", sto

    node.js + express でセッションストアを Redis に変更する方法
    y-kawaz
    y-kawaz 2011/06/09
    radisすら立てるのめんどうだけどとりあえずセッション保存や共有したいとき用にconnect-filestoreとか自分で作ったがnpmリポジトリにまだ無いみたいだから上げとくと需要あるのかしら?
  • 1