e
MessagePack
Project
Tokyo Cabinet

                            Server

                 Server              Server
Manager

                 S...
{“msgpack”:“json”,   “hello”:“world”}
MessagePack for C++
MessagePack for Java
Rails app
MessagePack-RPC




 Java app                C++ server
[0, msgid, method, params]




[1, msgid, error, result]




[2, method, params]
Client
              Server

 Dispatcher            Loop


multi-threaded event-driven I/O   Client
          (C++, Java)
Client

Session   Loop   Server


     Client

Session   Loop   Server
Client

Session                    Server


                Loop
     Client
                shared
Session       event lo...
connection
Session                      Server
          Session Pool

                             pools these
          ...
Client

 Session                    Server


Dispatcher       Loop       Client
                 shared
 Session       eve...
Client

   Session                            Server


 Dispatcher                Loop       Client
                      ...
require 'msgpack/rpc'

loop = MessagePack::RPC::Loop.new

c1 = MessagePack::RPC::Client.new(host, port, loop)
c2 = Message...
call_async(method1)

call_async(method2)

        future1




        future2
connection
Session                    Server


            Loop
            shared
Session   event loop       Server
Future                 connection
         Session                    Server
Future
                     Loop
Future
     ...
Future
         Session
Future

Future

Future   Session
require 'msgpack/rpc'

loop = MessagePack::RPC::Loop.new

c1 = MessagePack::RPC::Client.new(host, port, loop)
c2 = Message...
“you're writing so ware that only has to run on your own servers,
you can use any language you want.”

Beating the Average...
msgpack::object




           MessagePackObject
MessagePack Platform
MessagePack Platform
Sedue Cloud Search:
http://sedue.sc/
Sedue Cloud Search:
http://sedue.sc/
→




→
http://msgpack.org/   http://github.com/msgpack

Twitter: #msgpack     msgpack@googlegroups
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
MessagePack Rakuten Technology Conference 2010
Upcoming SlideShare
Loading in …5
×

MessagePack Rakuten Technology Conference 2010

7,853 views

Published on

0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,853
On SlideShare
0
From Embeds
0
Number of Embeds
2,013
Actions
Shares
0
Downloads
75
Comments
0
Likes
12
Embeds 0
No embeds

No notes for slide

MessagePack Rakuten Technology Conference 2010

  1. 1. e MessagePack Project
  2. 2. Tokyo Cabinet Server Server Server Manager Server Server Manager Server Gateway Gateway Gateway Application Application Application
  3. 3. {“msgpack”:“json”, “hello”:“world”}
  4. 4. MessagePack for C++
  5. 5. MessagePack for Java
  6. 6. Rails app MessagePack-RPC Java app C++ server
  7. 7. [0, msgid, method, params] [1, msgid, error, result] [2, method, params]
  8. 8. Client Server Dispatcher Loop multi-threaded event-driven I/O Client (C++, Java)
  9. 9. Client Session Loop Server Client Session Loop Server
  10. 10. Client Session Server Loop Client shared Session event loop Server
  11. 11. connection Session Server Session Pool pools these Loop connections Session Server
  12. 12. Client Session Server Dispatcher Loop Client shared Session event loop Server
  13. 13. Client Session Server Dispatcher Loop Client shared timer, signal handler, event loop other protocol, etc...
  14. 14. 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
  15. 15. call_async(method1) call_async(method2) future1 future2
  16. 16. connection Session Server Loop shared Session event loop Server
  17. 17. Future connection Session Server Future Loop Future shared Session event loop Server Future
  18. 18. Future Session Future Future Future Session
  19. 19. 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
  20. 20. “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
  21. 21. msgpack::object MessagePackObject
  22. 22. MessagePack Platform
  23. 23. MessagePack Platform
  24. 24. Sedue Cloud Search: http://sedue.sc/
  25. 25. Sedue Cloud Search: http://sedue.sc/
  26. 26. → →
  27. 27. http://msgpack.org/ http://github.com/msgpack Twitter: #msgpack msgpack@googlegroups

×