EventMachine
  Let’s
•   :

•
•       : Software Engineer

•
EventMachine
EventMachine?
Ruby
Programming
Low Level
!
gem install
eventmachine
show time !
C10K
http://www.kegel.com/c10k.html
10000
(10K)
I/O



Asynchronous I/O
/
GIL
Scale with processes
“In computing, a process
   is an instance of a
   computer program,
consisting of one or more
         threads”
10000
(10K)
lightweight concurrency
Reactor




http://en.wikipedia.org/wiki/Reactor_pattern
• Apache MINA (Java)
• TwistedMatrix (Python) - “twisted”
• node.js (JavaScript)
•
check list

•
• Reactor
• ruby
EventMachine
EM Reactor
Basics
Timers
Concurrency
Networking
EM Projects
Ilya Grigorik
  http://www.igvita.com/


•em-http-request
• em-proxy
• em-websocket
SHOW TIME !
Q &A
EventMachine
EventMachine
EventMachine
EventMachine
EventMachine
EventMachine
EventMachine
EventMachine
EventMachine
EventMachine
EventMachine
Upcoming SlideShare
Loading in …5
×

EventMachine

3,893 views

Published on

EventMachine is a library for Ruby, C++, and Java programs. It provides event-driven I/O using the Reactor pattern.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,893
On SlideShare
0
From Embeds
0
Number of Embeds
34
Actions
Shares
0
Downloads
62
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • So one more time - install the gem
  • Is this “the event machine”?
  • Take some sleep or better...
  • install eventmachine gem !
  • not enough hamsters!
  • EventMachine

    1. 1. EventMachine Let’s
    2. 2. • : • • : Software Engineer •
    3. 3. EventMachine
    4. 4. EventMachine?
    5. 5. Ruby Programming
    6. 6. Low Level
    7. 7. !
    8. 8. gem install eventmachine
    9. 9. show time !
    10. 10. C10K http://www.kegel.com/c10k.html
    11. 11. 10000 (10K)
    12. 12. I/O Asynchronous I/O
    13. 13. /
    14. 14. GIL
    15. 15. Scale with processes
    16. 16. “In computing, a process is an instance of a computer program, consisting of one or more threads”
    17. 17. 10000 (10K)
    18. 18. lightweight concurrency
    19. 19. Reactor http://en.wikipedia.org/wiki/Reactor_pattern
    20. 20. • Apache MINA (Java) • TwistedMatrix (Python) - “twisted” • node.js (JavaScript) •
    21. 21. check list • • Reactor • ruby
    22. 22. EventMachine
    23. 23. EM Reactor
    24. 24. Basics
    25. 25. Timers
    26. 26. Concurrency
    27. 27. Networking
    28. 28. EM Projects
    29. 29. Ilya Grigorik http://www.igvita.com/ •em-http-request • em-proxy • em-websocket
    30. 30. SHOW TIME !
    31. 31. Q &A

    ×