Distributed Programming with Ruby
Home > Computing and Information Technology > Computer programming / software engineering > Programming and scripting languages: general > Distributed Programming with Ruby
Distributed Programming with Ruby

Distributed Programming with Ruby


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

 “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      

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  

About the Author :
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.  


Best Sellers


Product Details
  • ISBN-13: 9780321638366
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison-Wesley Educational Publishers Inc
  • Height: 229 mm
  • No of Pages: 272
  • Weight: 422 gr
  • ISBN-10: 0321638360
  • Publisher Date: 12 Nov 2009
  • Binding: Paperback
  • Language: English
  • Spine Width: 14 mm
  • Width: 177 mm


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Distributed Programming with Ruby
Pearson Education (US) -
Distributed Programming with Ruby
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Distributed Programming with Ruby

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!