dnodeはnode.jsのRPCサーバ。node.js/Ruby/Perl/Javaライブラリがある。

dnodeはnode.js/JavaScript製のオープンソース・ソフトウェア。node.jsに注目が集まっている。だが実践の中で使うのに躊躇している人も多いのではないだろうか。確かに一部に使うのは良いが、システム全体をnode.jsでリプレイスするのは勇気がいる。


Rubyから接続した所

一部で使うとすれば画像生成や、短縮URLのクリック等あまり面白くない使い方になってしまいそうだ。そこでもっと実践的にnode.jsを使えるようにするdnodeを紹介しよう。

dnodeはnode.js用のRPCサーバだ。非同期型で、実行した結果はコールバックとして受け取れる。dnodeに接続し、その中にある任意の関数をリモートから実行して結果を受け取るので、より能動的にnode.jsを利用できるはずだ。

またリモートなので接続するクライアントはnode.jsに限らないのが良い。既にPerl、Ruby、Javaのクライアントが用意されている。これらのシステムからはnode.jsへつないで処理を実行して結果を受け取るのが容易だ。処理を分散化したり、一部の処理でnode.jsを試したりするのに良さそうだ。

MOONGIFTはこう見る

RPCは最近あまり聞かれなくなった。かつてはブログの更新時にXML-RPCを使っていたこともあって様々なライブラリがあったが、RESTfulなWeb APIが主流になったことで、利用が少なくなってしまった。しかし自作のサーバ同士の通信手段としては未だに便利だ。

サーバ間で通信する際にHTTPでJSONなどをコールするのも良いが、変数の引き渡し等が面倒くさい。RPCであれば普通に関数を呼び出すようにリモートの処理実行ができる。まだまだRPCも捨てたものではない。Web APIとして外部公開するには利用者の手間が多い気がするが、自分たちで使う際には申し分ない仕組みではないだろうか。

substack/dnode - GitHub