gearman to distribute server load

15
An application framework to distribute work Presenter: Biswajit Maji, Mindfire Solutions Date: 1/04/2014

Upload: mindfire-solutions

Post on 10-May-2015

306 views

Category:

Software


2 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Gearman To Distribute Server Load

An application framework to distribute work

Presenter: Biswajit Maji, Mindfire SolutionsDate: 1/04/2014

Page 2: Gearman To Distribute Server Load

Presenter: Biswajit Maji, Mindfire Solutions

OCP – Oracle certified professional developer

About Me

Skills : Mysql, php, jQuery, html, VCS(svn, git), Webservices, Linux

Connect Me:Facebook: https://www.facebook.com/biswajitmaji.techLinkedIn: http://www.linkedin.com/profile/view?id=133902574Google+: https://plus.google.com/105085556902166170611/

Contact Me:Email: [email protected] / [email protected]: mfsi_biswajitm

Page 3: Gearman To Distribute Server Load

Presenter: Biswajit Maji, Mindfire Solutions

AGENDA

• Why Gearman

• What is Gearman

• Terminology

• How Gearman works

• Available APIs

• Advantages

Page 4: Gearman To Distribute Server Load

Presenter: Biswajit Maji, Mindfire Solutions

Why GEARMAN

Page 5: Gearman To Distribute Server Load

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

Page 6: Gearman To Distribute Server Load

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

Page 7: Gearman To Distribute Server Load

Presenter: Biswajit Maji, Mindfire Solutions

Gearman Working Structure

Page 8: Gearman To Distribute Server Load

Presenter: Biswajit Maji, Mindfire Solutions

Gearman Work Flow

Page 9: Gearman To Distribute Server Load

Presenter: Biswajit Maji, Mindfire Solutions

How Gearman works

Page 10: Gearman To Distribute Server Load

Presenter: Biswajit Maji, Mindfire Solutions

Available Client and Worker Libraries

.NETCDjangoDrizzleJavaJMSLispMySQL

Node.jsPerl PHPPostgreSQLPythonRubyTwisted ...

Page 11: Gearman To Distribute Server Load

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.

Page 12: Gearman To Distribute Server Load

Presenter: Biswajit Maji, Mindfire Solutions

References

http://gearman.org/

http://blog.zitec.com/2011/parallel-processing-with-php-and-gearman/

http://www.phpclasses.org/blog/post/108-Distributing-PHP-processing-with-Gearman.html

http://www.cirello.org/2012/05/scalable-architecture-with-gearman-job-server/

Page 13: Gearman To Distribute Server Load

Presenter: Biswajit Maji, Mindfire Solutions

Question and Answer

Page 14: Gearman To Distribute Server Load

Presenter: Biswajit Maji, Mindfire Solutions

Thank you

Page 15: Gearman To Distribute Server Load

www.mindfiresolutions.com

https://www.facebook.com/MindfireSolutions

http://www.linkedin.com/company/mindfire-solutions

http://twitter.com/mindfires