Instant Parallel Processing with Gearman
By John Ewart
()
About this ebook
Many of today's applications need to be able to process large volumes of data, and vertical scaling has its limits both in terms of prohibitive cost and hardware limits. Gearman is an open source job manager that is well-suited to building horizontally scalable systems, from map-reduce algorithms to simple data processors capable of handling massive amounts of information.
Instant Gearman is a practical, hands-on guide to getting started with building an open source job management server system that is built to grow. Learn the basics of building a distributed application that spans multiple components and learn how Gearman fits into building an application that scales from one to hundreds of components that interact to process data. With Gearman, you can build software that scales horizontally as your need for computation increases.
Instant Gearman has in-depth examples and a step-by-step approach to building distributed systems, helping you to build systems that are scalable and modular in their approach to processing data.
Once you are comfortable with building simple workers and clients, learn how to build a cluster of managers and see how to reduce single-point-of-failure in your architecture. Next, build a simple map-reduce application using Gearman and scale it up from a single instance to multiple parallel processing components.
ApproachGet to grips with a new technology, understand what it is and what it can do for you, and then get to work with the most important features and tasks. This is a quick tutorial allowing you to quickly increase the efficiency of your system by intelligently reducing its workload where possible and learn techniques for designing your solutions to take advantage of Gearman's architecture.
The technology covered in this book is usable by almost any modern programming language and any type of application, be it web, desktop, or mobile applications.
Who this book is forThis book targets developers who are interested in adding distributed data processing to their applications. The examples in this book are written using Ruby, but are documented thoroughly to allow developers comfortable with other languages to understand how to use them in a language of their choice. Intermediate programmers with no previous experience in distributed computing will also be able to easily follow the content.
John Ewart
John Ewart is a systems architect, software developer, and lecturer. He has taught courses at a variety of institutions including the University of California, California State University, and local community colleges, covering a wide range of computer science topics including Java, data structures and algorithms, operating systems fundamentals, UNIX and Linux systems administration, and web application development. In addition to working and teaching, he maintains and contributes to a number of open source projects. John currently resides in Sonora, California with his wife, Mary, and their two children.
Related to Instant Parallel Processing with Gearman
Related ebooks
Instant Play Framework Starter Rating: 0 out of 5 stars0 ratingsJavaScript Concurrency Rating: 0 out of 5 stars0 ratingsBuilding a Web Application with PHP and MariaDB: A Reference Guide Rating: 0 out of 5 stars0 ratingsGetting Started with hapi.js Rating: 5 out of 5 stars5/5Flask Blueprints Rating: 0 out of 5 stars0 ratingsInstant Apache ActiveMQ Messaging Application Development How-to Rating: 0 out of 5 stars0 ratingsInstant CloudFlare Starter Rating: 0 out of 5 stars0 ratingsPerformance Testing with JMeter 2.9 Rating: 0 out of 5 stars0 ratingsBuilding a RESTful Web Service with Spring Rating: 5 out of 5 stars5/5Getting Started with Review Board Rating: 0 out of 5 stars0 ratingsGetting Started with Grunt: The JavaScript Task Runner Rating: 3 out of 5 stars3/5Instant Zend Framework 2.0 Rating: 0 out of 5 stars0 ratingsMonitoring Hadoop Rating: 0 out of 5 stars0 ratingsJasmine JavaScript Testing - Second Edition Rating: 0 out of 5 stars0 ratingsImplementing AppFog Rating: 0 out of 5 stars0 ratingsNmap Essentials Rating: 4 out of 5 stars4/5Instant Jsoup How-to Rating: 0 out of 5 stars0 ratingsOpa Application Development Rating: 0 out of 5 stars0 ratingsInstant Apache Camel Messaging System Rating: 0 out of 5 stars0 ratingsImplementing Cloud Design Patterns for AWS Rating: 0 out of 5 stars0 ratingsPersistence in PHP with Doctrine ORM Rating: 0 out of 5 stars0 ratingsInstant OSGi Starter Rating: 0 out of 5 stars0 ratingsWeb Programming with Go: Building and Scaling Interactive Web Applications with Go's Robust Ecosystem Rating: 0 out of 5 stars0 ratingsInstant .NET 4.5 Extension Methods How-to Rating: 0 out of 5 stars0 ratingsInstant Hands-on Testing with PHPUnit How-to Rating: 0 out of 5 stars0 ratingsPractical Django 2 and Channels 2: Building Projects and Applications with Real-Time Capabilities Rating: 0 out of 5 stars0 ratingsExpress Web Application Development Rating: 3 out of 5 stars3/5Beginning Jakarta EE: Enterprise Edition for Java: From Novice to Professional Rating: 0 out of 5 stars0 ratingsDjango Project Blueprints Rating: 0 out of 5 stars0 ratingsExtending Symfony2 Web Application Framework Rating: 0 out of 5 stars0 ratings
Programming For You
Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Hacking: Ultimate Beginner's Guide for Computer Hacking in 2018 and Beyond: Hacking in 2018, #1 Rating: 4 out of 5 stars4/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Python Programming : How to Code Python Fast In Just 24 Hours With 7 Simple Steps Rating: 4 out of 5 stars4/5Learn PowerShell in a Month of Lunches, Fourth Edition: Covers Windows, Linux, and macOS Rating: 0 out of 5 stars0 ratingsExcel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5HTML & CSS: Learn the Fundaments in 7 Days Rating: 4 out of 5 stars4/5The Unofficial Guide to Open Broadcaster Software: OBS: The World's Most Popular Free Live-Streaming Application Rating: 0 out of 5 stars0 ratingsPython: For Beginners A Crash Course Guide To Learn Python in 1 Week Rating: 4 out of 5 stars4/5Java for Beginners: A Crash Course to Learn Java Programming in 1 Week Rating: 5 out of 5 stars5/5Python for Beginners: Learn the Fundamentals of Computer Programming Rating: 0 out of 5 stars0 ratingsPYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5SQL All-in-One For Dummies Rating: 3 out of 5 stars3/5HTML in 30 Pages Rating: 5 out of 5 stars5/5Learn JavaScript in 24 Hours Rating: 3 out of 5 stars3/5Python Machine Learning By Example Rating: 4 out of 5 stars4/5SQL: For Beginners: Your Guide To Easily Learn SQL Programming in 7 Days Rating: 5 out of 5 stars5/5Python QuickStart Guide: The Simplified Beginner's Guide to Python Programming Using Hands-On Projects and Real-World Applications Rating: 0 out of 5 stars0 ratingsLearn SQL in 24 Hours Rating: 5 out of 5 stars5/5Linux: Learn in 24 Hours Rating: 5 out of 5 stars5/5Python: Learn Python in 24 Hours Rating: 4 out of 5 stars4/5
Reviews for Instant Parallel Processing with Gearman
0 ratings0 reviews
Book preview
Instant Parallel Processing with Gearman - John Ewart
Table of Contents
Instant Parallel Processing with Gearman
Credits
About the Author
About the Reviewer
www.packtpub.com
Support files, eBooks, discount offers and more
packtlib.packtpub.com
Why Subscribe?
Free Access for Packt account holders
1. Instant Parallel Processing with Gearman
So, what is Gearman?
Distinguishing features of Gearman
Overview of components
The conversation between the actors
Usecase – image processing
Quick Start – building your first components
Step 1 – running a server
Step 2 – downloading a client library
Your first client
Writing the client
Running your newly created client
Verifying that it was submitted
Step 3 – our first worker
Running your newly created worker
Step 4 – varying priorities
Step 5 – background tasks
And that's it
Top 5 features you need to know about
Job handling
Completed versus successful
Unique identifiers and coalescing
The client
The worker
Making it work
Scaling your system
Running multiple managers
Writing a client that supports multiple managers
Submitting jobs to multiple managers
Handling a manager being terminated
Processing jobs from multiple managers
MapReduce
The shared library
A simple program
The client
The worker
Parallelizing the pipeline
Scaling this solution
Processing a large data file
Providing job updates
Data updates
The worker
The client
Status updates
The worker
The client
Building a processing pipeline
Using multiple languages
Persistence engines
Why is this important?
Persistent versus non-persistent
How safe is safe?
People and places you should get to know
Client libraries
Community
Instant Parallel Processing with Gearman
Instant Parallel Processing with Gearman
Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: July 2013
Production Reference: 1230713
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78328-407-8
www.packtpub.com
Credits
Author
John Ewart
Reviewer
Josh Black
Acquisition Editor
Vinay Argekar
Commissioning Editor
Priyanka Shah
Technical Editor
Mausam Kothari
Project Coordinator
Michelle Quadros
Proofreader
Bernadette Watkins
Graphics
Ronak Dhruv
Production Coordinator
Prachali Bhiwandkar
Cover Work
Prachali Bhiwandkar
Cover Image
Prachali Bhiwandkar
About the Author
John Ewart is a systems architect, software developer, and lecturer. He has designed and taught courses at a variety of institutions including the University of California, California State University and local community colleges covering a wide range of computer science topics including Java, data structures and algorithms, operating systems fundamentals, UNIX and Linux systems administration, and web application development. In addition to working and teaching, he maintains and contributes to a number of open source projects. He currently resides in Redmond, Washington with his wife, Mary, and their two children.
About the Reviewer
Josh Black has been working with computers professionally for 20 years. He has a broad range of experience and expertise including systems and network administration, mobile app development, and production web applications. Josh earned a BS in computer science with a minor in math from California State University, Chico, in 2005. He currently resides in Chico, California, with his wife Rachel, and their four children.
www.packtpub.com
Support files, eBooks, discount offers and more
You might want to visit www.packtpub.com for support files and downloads