Many services / applications now a day are ill equipped with handling a sudden rush of popularity, as is often the case on the internet now a days, to a point where the services either become unavailable or unbearably slow.
By taking a chapter from the ant colonies in the wild, where their strength lies in their numbers and the fact that everyone works together towards the same goal, we can apply the same principle to our
service by using systems such as:
- gearman
- memcache
- daemons
- message queues
- load balancers
and many more, you can achieve greater performance, more redundancy, higher availability and have the ability to scale your services up and down as required easily.
During this talk attendees will be lead through the world of distributed systems and scalability, and shown the how, where and what, of how to take the average application and splitting it into smaller more manageable pieces.
67. Map
Master gets a problem to solve
Breaks into multiple sub-problems
Distributed to multiple workers
A worker can take the same steps
Answer passed back to Master
Saturday, 29 October 11
68. Reduce
Takes in answers from the map workers
Combines together to get an answer
There can be multiple reducers
Saturday, 29 October 11
69. process petabytes of data in few
hours on commodity server farm
Saturday, 29 October 11
73. Your Client Code
Gearman Client API
(C, PHP, Perl, MySQL UDF, ...)
Your App Gearman Job Server Gearman
gearmand
Gearman Worker API
(C, PHP, Perl, Python, ...)
Your Worker Code
Saturday, 29 October 11