Gearman provides a distributed application framework for work with multiple machines or processes. Gearman can help us out easily by load balancing, architecture based workload distribution, scaling, parallel processes and many more. The framework can be used in a variety of applications. People from almost all technologies can can the advantage from the usage of Gearman.
5. Presenter: Biswajit Maji, Mindfire Solutions
What is Gearman
Open source application framework
To distribute appropriate computer tasks to multiple computers
So large tasks can be done more quickly
In some cases, load balancing rather than raw speed may be the main
goal
A Web server, can use Gearman to send tasks to another computer
which is optimized to do that particular task (may be running on a
different architecture, using another operating system, or loaded with a
different computer language better suited to a particular operation).
It is an application framework to distribute work
6. Presenter: Biswajit Maji, Mindfire Solutions
Terminology
Create jobs to be run and send them to
a Gearman server
Register with a Gearman server and
grab jobs to run
Coordinates assignment from
clients to workers, handles restarts
Client
Worker
Gearman
Server
10. Presenter: Biswajit Maji, Mindfire Solutions
Available Client and Worker Libraries
.NET
C
Django
Drizzle
Java
JMS
Lisp
MySQL
Node.js
Perl
PHP
Postgre
SQL
Python
Ruby
Twisted
...
11. Presenter: Biswajit Maji, Mindfire Solutions
Advantages
Speed up work
Load balance since the job server only sends new jobs to idle
workers
Parallel and asynchronous work
Scales well
Architecture-based workload distributing
Fault tolerance using multiple server.
Can be used as an interface between a client and a worker written
in different languages.