Your SlideShare is downloading. ×
  • Like
Scale like a pro with Gearman
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Scale like a pro with Gearman

  • 1,575 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,575
On SlideShare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
26
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    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

Transcript

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