Distributed programming with Ruby

著者

    • Bates, Mark

書誌事項

Distributed programming with Ruby

Mark Bates

(Addison-Wesley professional Ruby series)

Addison-Wesley, c2010

  • : pbk

この図書・雑誌をさがす

注記

Includes bibliographical references and index

内容説明・目次

内容説明

"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

目次

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

「Nielsen BookData」 より

関連文献: 1件中  1-1を表示

詳細情報

ページトップへ