node-handlersocket

Preview:

DESCRIPTION

JJUG Cross Community Conference 2011 Spring Node.js 日本ユーザグループによる LT 大会発表資料

Citation preview

node-handlersocketnode-handlersockethttps://github.com/koichik/node-handlersocket

@koichikhttp://d.hatena.ne.jp/koichik/http://d.hatena.ne.jp/koichik/

宣伝

Nodeの本を書いてますNode

@atsuya @bad_at_math @Jxck_ @KOBA789@koichik @masahiroh @meso @nsyee @yssk22

発売は7月かなぁ

著者レビューと初校を並行処理中

少々お疲れ気味 少々お疲れ気味

励ましのツイートを!!

HandlerSocket Plugin

MySQLをNoSQLのようにアクセス可能にMySQL NoSQLしてくれる

詳しくは本日B-3の資料を!

SQLを通さない

SQL Client HandlerSocketClient

ストレージエンジン

MySQL

SQL layer HandlerSocket

HandlerSocketクライアント

libhsclientlibhsclient

C++のクライアントライブラリ

Perl, Ruby, PHP, etc のバインディング

libhsclient

Perl Ruby PHP etc

libhsclient

HandlerSocketMySQL

HandlerSocketクライアント

プロトコルが公開されている

様々なネイティブ実装

Python, PHP, Java, Scala

libhsclient

Perl Ruby PHP etc

Python Java

libhsclient

HandlerSocketMySQL

プロトコル公開

node-handlersocket

Node上で動くJavaScriptによるNode JavaScriptHandlerSocketクライアント

libhsclient

Perl Ruby PHP etc

Python Java

node-handlersocket

JavaScriptlibhsclient

HandlerSocketMySQL

JavaScript

プロトコル公開

node-handlersocketの特徴

Pure JavaScriptPure JavaScript

ノンブロッキングI/O

パイプライニングフルサポート

ブロッキング

クライアント HandlerSocket

execute_single

ブロック

ノンブロッキングnode-

handlersocketHandlerSocket

find

ブロックしない

コールバック

ブロッキング+パイプライニング

クライアント HandlerSocketパイプライニング用のAPI

execute_multi

ブロック

ノンブロッキング+パイプライニング

node-handlersocket

HandlerSocket通常のAPI

findinsert

update

ブロックしない

コールバックコールバックコールバック

ノンブロッキング+パイプライニング

相性がいい

パイプライニング用のAPI不要

単独のAPIを続けて呼び出すだけ

openIndex()もパイプライニング可能

同期?コールバックスパゲッティ?

フロー制御モジュールを使えばおk フロー制御モジュールを使えばおk

slide, step, async, etc... https://github.com/joyent/node/wiki/modules#async-flow

フロー制御モジュール(slide)

var records = [[100, 9999, 'Foo'],[100, 9999, 'Foo'],[300, 9998, 'Bar'],...

];asyncMap(records, function(record, next) {

index.insert(record, next);index.insert(record, next);}, function(err, results) {

//全レコードのインサート完了});

今後の予定

HandlerSocketの新機能対応HandlerSocket

auto_increment

インクリメント/デクリメント

IN

フィルタ

認証 認証

・・・

問題

HandlerSocketがリリースされないHandlerSocket

昨年秋の1.0.6のまま

GitHubにコミットはされてる

樋口さん、リリース!!リリース!!

まとめ

NodeでもHandlerSocket使えるよNode HandlerSocket

https://github.com/koichik/node-handlersocket

ノンブロッキングとパイプライニングは相性がいいよ

好きなフロー制御モジュール使えるよ

いくつかはNode本で紹介してるよ!! いくつかはNode本で紹介してるよ!!

Node本が出たら買ってね!!

謝辞

ご清聴ありがとうございました

一番大事なこと

Node本が出たらNode本が出たら買ってね!!

Recommended