More Related Content
Similar to MessagePack Rakuten Technology Conference 2010
Similar to MessagePack Rakuten Technology Conference 2010 (20)
More from Sadayuki Furuhashi
More from Sadayuki Furuhashi (20)
MessagePack Rakuten Technology Conference 2010
- 4. Tokyo Cabinet
Server
Server Server
Manager
Server Server
Manager
Server
Gateway Gateway Gateway
Application Application Application
- 27. Client
Server
Dispatcher Loop
multi-threaded event-driven I/O Client
(C++, Java)
- 29. Client
Session Server
Loop
Client
shared
Session event loop Server
- 31. Client
Session Server
Dispatcher Loop Client
shared
Session event loop Server
- 32. Client
Session Server
Dispatcher Loop Client
shared
timer, signal handler, event loop
other protocol, etc...
- 37. require 'msgpack/rpc'
loop = MessagePack::RPC::Loop.new
c1 = MessagePack::RPC::Client.new(host, port, loop)
c2 = MessagePack::RPC::Client.new(host, port, loop)
future1 = c1.call_async(:method1, arg)
future2 = c2.call_async(:method2, arg)
future2.get
future1.get
- 40. Future connection
Session Server
Future
Loop
Future
shared
Session event loop Server
Future
- 41. Future
Session
Future
Future
Future Session
- 42. require 'msgpack/rpc'
loop = MessagePack::RPC::Loop.new
c1 = MessagePack::RPC::Client.new(host, port, loop)
c2 = MessagePack::RPC::Client.new(host, port, loop)
future1 = c1.call_async(:method1, arg)
future2 = c2.call_async(:method2, arg)
future2.get
future1.get
- 45. “you're writing so ware that only has to run on your own servers,
you can use any language you want.”
Beating the Averages
Paul Graham