Distributed Programming with Ruby (Addison-wesley Professional Ruby Series) (1ST)

Distributed Programming with Ruby (Addison-wesley Professional Ruby Series) (1ST)

  • ただいまウェブストアではご注文を受け付けておりません。 ⇒古書を探す
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 250 p.
  • 言語 ENG
  • 商品コード 9780321638366
  • DDC分類 005.117

Full Description


"A must have title for the well-rounded Ruby programmer building advanced Rails applications and large systems!" OBIE FERNANDEZ, Series EditorComplete, Hands-On Guide to Building Advanced Distributed Applications with RubyDistributed 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

Contents

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

最近チェックした商品