markbates (owner)

Revisions

gist: 156861 Download_button fork
public
Public Clone URL: git://gist.github.com/156861.git
Embed All Files: show embed
Text only #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
Part 1: Standard Library
 
  Chapter 1: Distributed Ruby (DRb)
          1.1 Hello World
          1.2 Proprietary Ruby Objects
          1.3 Security
            1.3.1 Access Control Lists (ACLs)
            1.3.2 DRb Over SSL
          1.4 ID Conversion
            1.4.1 Built-in ID Converters
            1.4.1.1 DRb::DRbIdConv
            1.4.1.2 DRb::TimerIdConv
            1.4.2 Building your own ID Converter
            1.4.3 Using Multiple ID Converters
          1.5 Conclusion
 
  Chapter 2: Rinda
          2.1 Hello World, the Rinda Way
            2.1.1 Ring Server
          2.2 Understanding Tuples and TupleSpaces
            2.2.1 Writing a Tuple to a TupleSpace
            2.2.2 Reading a Tuple from a TupleSpace
            2.2.3 Taking a Tuple from a TupleSpace
            2.2.4 Reading All Tuples in a TupleSpace
          2.3 Callbacks and Observers
            2.3.1 Understanding Callbacks
            2.3.2 Implementing Callbacks
          2.4 Security With Rinda
            2.4.1 Access Control Lists (ACLs)
            2.4.2 Using Rinda Over SSL
            2.4.3 Selecting a Ring Server
          2.5 Renewing Rinda Services
            2.5.1 Using a Numeric to Renew a Service
            2.5.2 Using nil to Renew a Service
            2.5.3 Using the SimpleRenewer class
            2.5.4 Building a Custom Renewer
          2.6 Conclusion
  
Part 2: Third Party Frameworks and Libraries
  
  Chapter 3: RingyDingy
          3.1 Installation
          3.2 Getting Started with RingyDingy
          3.3 Hello World, the RingyDingy Way
          3.4 Building a Distributed Logger with RingyDingy
          3.5 Letting RingyDingy Shine
          3.6 Conclusion
  Chapter 4: Starfish
          4.1 Installation
          4.2 Getting Started with Starfish
          4.3 Hello World, the Starfish Way
            4.3.1 Using the Starfish Binary
            4.3.1 Saying Goodbye to the Starfish Binary
          4.4 Building a Distributed Logger with Starfish
          4.5 Letting Starfish Shine
          4.6 Conclusion
  Chapter 5: Distribunaut
          5.1 Installation
          5.2 Blast Off… Hello, World!
          5.3 Building a Distributed Logger with Distribunaut
          5.4 Avoiding Confusion of Services
          5.5 Borrowing a Service with Distribunaut
          5.6 Conclusion
  Chapter 6: Politics
          6.1 Installation
          6.2 Working with Politics
          6.3 Conclusion
  
Part 3: Distributed Message Queues
 
  Chapter 7: Starling
          7.1 What is a Distributed Message Queue?
          7.2 Installation
          7.3 Getting Started with Starling
          7.4 Hello World, the Starling Way
          7.5 Building a Distributed Logger with Starling
          7.6 Persisted Queues
          7.7 Getting Starling Stats
          7.8 Conclusion
  Chapter 8: AMQP/RabbitMQ
          8.1 What is AMQP?
          8.2 Installation
          8.3 Hello World, the AMQP Way
          8.4 Building a Distributed Logger with AMQP
          8.5 Persisted AMQP Queues
          8.6 Subscribing to a Message Queue
          8.7 Topic Queues
          8.8 Fanout Queues
          8.9 Conclusion
 
Part 4: Distributed Programming with Ruby on Rails
 
  Chapter 9: BackgrounDRb
          9.1 Installation
          9.2 Offloading Slow Tasks with BackgrounDRb
          9.3 Configuring BackgrounDRb
          9.4 Persisting BackgrounDRb Tasks
          9.5 Caching Results with Memcached
          9.6 Conclusion
  Chapter 10: Delayed Job
          10.1 Installation
          10.2 Send It Later with Delayed Job
          10.3 Custom Workers and Delayed Job
          10.4 Who’s On First and When Do They Steal Second?
          10.5 Configuring Delayed Job
          10.6 Conclusion