Scaling like a pro      with   Gearman
Me?Web developer at... well yet another startup!Contributor to Symfony web frameworkFind me on Twitter @kertz
My idea of scaling...
What is Gearman?A Job serverClient APIWorker API...and lots of client & worker API libraries
What’s a job server?Manages the communication between clientsand workers
Client & WorkerThe client asks the worker to do a specific jobThe worker does what the client asks, oh yeah!More importantl...
How does it work?
A Simple Worker     Worker
Calling the worker       Client
Making it workStart gearmand in your terminalYou can use -vvv for verbose modeRun the worker and clientForeground and back...
Status of WorkNumerator/Denominator(X of Y)Store the status in memcache/APCStore in MySQL, Drizzle
Knowing The Status      Worker
Knowing The Status       Client
Knowing The Status       Result
Parallel Tasks     Client
Callbacks  Client
Callbacks  Worker
Prioritize WorkNote: Separate queues for each priority level
Managing WorkercronGearman Managerhttps://github.com/brianlmoon/GearmanManagersupervisord
In RetrospectEasily manage client-worker relationshipLanguage independent (PHP, C, Perl etc.)Parallel, Callbacks, Prioriti...
Questions?
Upcoming SlideShare
Loading in...5
×

Scale like a pro with Gearman

1,857

Published on

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

No Downloads
Views
Total Views
1,857
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
31
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Scale like a pro with Gearman

    1. 1. Scaling like a pro with Gearman
    2. 2. Me?Web developer at... well yet another startup!Contributor to Symfony web frameworkFind me on Twitter @kertz
    3. 3. My idea of scaling...
    4. 4. What is Gearman?A Job serverClient APIWorker API...and lots of client & worker API libraries
    5. 5. What’s a job server?Manages the communication between clientsand workers
    6. 6. Client & WorkerThe client asks the worker to do a specific jobThe worker does what the client asks, oh yeah!More importantly it’s language independent!PHP Gearman extension
    7. 7. How does it work?
    8. 8. A Simple Worker Worker
    9. 9. Calling the worker Client
    10. 10. Making it workStart gearmand in your terminalYou can use -vvv for verbose modeRun the worker and clientForeground and background jobs
    11. 11. Status of WorkNumerator/Denominator(X of Y)Store the status in memcache/APCStore in MySQL, Drizzle
    12. 12. Knowing The Status Worker
    13. 13. Knowing The Status Client
    14. 14. Knowing The Status Result
    15. 15. Parallel Tasks Client
    16. 16. Callbacks Client
    17. 17. Callbacks Worker
    18. 18. Prioritize WorkNote: Separate queues for each priority level
    19. 19. Managing WorkercronGearman Managerhttps://github.com/brianlmoon/GearmanManagersupervisord
    20. 20. In RetrospectEasily manage client-worker relationshipLanguage independent (PHP, C, Perl etc.)Parallel, Callbacks, PrioritiesManaging Workers
    21. 21. Questions?
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×