Distributed Programming with Ruby

Author:   Mark Bates
Publisher:   Pearson Education (US)
ISBN:  

9780321638366


Pages:   272
Publication Date:   12 November 2009
Format:   Paperback
Availability:   Out of stock   Availability explained


Our Price $105.57 Quantity:  
Add to Cart

Share |

Distributed Programming with Ruby


Add your own review!

Overview

 “A must have title for the well-rounded Ruby programmer building advanced Rails applications and large systems!” OBIE FERNANDEZ, Series Editor   Complete, Hands-On Guide to Building Advanced Distributed Applications with Ruby   Distributed programming techniques make applications easier to scale, develop, and deploy—especially in emerging cloud computing environments. Now, one of the Ruby community’s leading experts has written the first definitive guide to distributed programming with Ruby.   Mark Bates begins with a simple distributed application, and then walks through an increasingly complex series of examples, demonstrating solutions to the most common distributed programming problems.   Bates presents the industry’s most useful coverage of Ruby’s standard distributed programming libraries, DRb and Rinda. Next, he introduces powerful third-party tools, frameworks, and libraries designed to simplify Ruby distributed programming, including his own Distribunaut.   If you’re an experienced Ruby programmer or architect, this hands-on tutorial and practical reference will help you meet any distributed programming challenge, no matter how complex.   Coverage includes •   Writing robust, secure, and interactive applications using DRb—and managing its drawbacks •   Using Rinda to build applications with improved flexibility, fault tolerance, and service discovery •   Simplifying DRb service management with RingyDingy •   Utilizing Starfish to facilitate communication between distributed programs and to write MapReduce functions for processing      large data sets •   Using Politics to customize the processes running on individual server instances in a cloud computing environment •   Providing reliable distributed queuing with the low-overhead Starling messaging server •   Implementing comprehensive enterprise messaging with RabbitMQ and Advanced Message Queuing Protocol (AMQP) •   Offloading heavyweight tasks with BackgrounDRb and DelayedJob      

Full Product Details

Author:   Mark Bates
Publisher:   Pearson Education (US)
Imprint:   Addison-Wesley Educational Publishers Inc
Dimensions:   Width: 17.70cm , Height: 1.40cm , Length: 22.90cm
Weight:   0.422kg
ISBN:  

9780321638366


ISBN 10:   0321638360
Pages:   272
Publication Date:   12 November 2009
Audience:   Professional and scholarly ,  Professional & Vocational
Format:   Paperback
Publisher's Status:   Out of Print
Availability:   Out of stock   Availability explained

Table of Contents

Foreword    ix Preface    xi   Part I   Standard Library    1   Chapter 1    Distributed Ruby (DRb)     3 Hello World     4 Proprietary Ruby Objects     10 Security     17 Access Control Lists (ACLs)     18 DRb over SSL     21 ID Conversion     28 Built-in ID Converters     29 Building Your Own ID Converter     33 Using Multiple ID Converters     34 Conclusion     35 Endnotes     36   Chapter 2     Rinda     37 “Hello World” the Rinda Way     38 Understanding Tuples and TupleSpaces     44 Writing a Tuple to a TupleSpace    44 Reading a Tuple from a TupleSpace     45 Taking a Tuple from a TupleSpace     48 Reading All Tuples in a TupleSpace     52 Callbacks and Observers     53 Understanding Callbacks     54 Implementing Callbacks     55 Security with Rinda     59 Access Control Lists (ACLs)     59 Using Rinda over SSL    61 Selecting a RingServer    63 Renewing Rinda Services     70 Using a Numeric to Renew a Service     71 Using nil to Renew a Service     72 Using the SimpleRenewer Class     72 Custom Renewers     73 Conclusion     75 Endnotes     76   Part II   Third-Party Frameworks and Libraries     77   Chapter 3    RingyDingy     79 Installation     79 Getting Started with RingyDingy     80 “Hello World” the RingyDingy Way     81 Building a Distributed Logger with RingyDingy     82 Letting RingyDingy Shine     84 Conclusion     86   Chapter 4    Starfish     87 Installation     87 Getting Started with Starfish     88 “Hello World” the Starfish Way     90 Using the Starfish Binary    90 Saying Goodbye to the Starfish Binary    93 Building a Distributed Logger with Starfish     96 Letting Starfish Shine    99 MapReduce and Starfish     103 Using Starfish to MapReduce ActiveRecord     104 Using Starfish to MapReduce a File     110 Conclusion    112 Endnotes     113   Chapter 5    Distribunaut     115 Installation     116 Blastoff: Hello, World!     117 Building a Distributed Logger with Distribunaut     120 Avoiding Confusion of Services     123 Borrowing a Service with Distribunaut     126 Conclusion     128 Endnotes     129   Chapter 6    Politics     131 Installation     133 Working with Politics     135 Conclusion    141 Endnotes     142   Part III   Distributed Message Queues     143   Chapter 7    Starling     145 What Is a Distributed Message Queue?     145 Installation     147 Getting Started with Starling     148 “Hello World” the Starling Way     155 Building a Distributed Logger with Starling     157 Persisted Queues     158 Getting Starling Stats     158 Conclusion     162 Endnotes     162   Chapter 8    AMQP/RabbitMQ     163 What Is AMQP?     163 Installation     165 “Hello World” the AMQP Way     167 Building a Distributed Logger with AMQP     178 Persisted AMQP Queues     180 Subscribing to a Message Queue     184 Topic Queues     187 Fanout Queues     193 Conclusion     196 Endnotes     197   Part IV Distributed Programming with Ruby on Rails     199   Chapter 9    BackgrounDRb     201 Installation     202 Offloading Slow Tasks with BackgrounDRb     203 Configuring BackgrounDRb     211 Persisting BackgrounDRb Tasks     213 Caching Results with Memcached     217 Conclusion     220 Endnotes     221   Chapter 10  Delayed Job     223 Installation     223 Sending It Later with Delayed Job     225 Custom Workers and Delayed Job    230 Who’s on First, and When Does He Steal Second?     235 Configuring Delayed Job     237 Conclusion     240 Endnotes     241   Index     243  

Reviews

Author Information

Mark Bates has been developing web applications of one kind or another since 1996. He has spent an ungodly amount of time programming Java, but thankfully he discovered Ruby in late 2005, and life has been much nicer since.   Since discovering Ruby, Mark has become a prominent member of the community. He has developed various open-source projects, such as Configatron, Cachetastic, Genosaurus, APN on Rails, and the Mack Framework, just to name a few. The Mack Framework brought Mark to the forefront of distributed programming in the Ruby community. Mack was a web framework designed from the ground up to aid in the development of distributed applications.   Mark has taught classes on both Ruby and Ruby on Rails. He has spoken at several Ruby gatherings, including 2008’s RubyConf, where he spoke about building distributed applications.   Mark has an honors degree in music from the Liverpool Institute for Performing Arts. He still likes to rock out on the weekends, but set times are now 10 p.m., not 2 a.m. He lives just outside of Boston with his wife Rachel and their sons Dylan and Leo, whom he missed very much when writing this book.   Mark can be found at http://www.markbates.com and http://github.com/markbates.  

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

MRG2025CC

 

Shopping Cart
Your cart is empty
Shopping cart
Mailing List