Distributed Systems with Rack

About Me

About Scribd


$ gem install distributed_demo $ distributed_demo Your role: "something"

I suck at talking.

The Problem

So, what's the problem?

Advantages of Distribution

How do we make it faster?

Advantages of Distribution

Simplify the Code

Separation of Concerns

Advantages of Distribution



What is the failure rate?

Harvest vs. Yield

Yield is Overall Availability

Harvest measures the completeness of

Hopefully you're convinced.

Great, but how?

Demo time!

$ gem install distributed_demo $ distributed_demo Your role: "something"

<html> <body> <div id="foo"> <!--# block name="bar" --> Default content! <!--# endblock --> <!--# include virtual="/foo" stub="bar" --> </div> </body> </html>


<html> <body> <div id="foo"> <esi:try> <esi:attempt> <esi:include src="mysite.com/foo" /> </esi> <esi:except> Default content! </esi:except> </esi:try> </div> </body> </html>

<html> <body> <div id="foo"> <esi:try> <esi:attempt> <esi:include src="mysite.com/foo" alt="backup.mysite.com/foo" /> </esi> <esi:except> Default content! </esi:except> </esi:try> </div> </body> </html>

<html> <body> <div id="foo"> <!--# block name="default" --> Default content! <!--# endblock --> <!--# block name="backup" --> <!--# include virtual="/backup/foo" stub="default" --> <!--# endblock --> <!--# include virtual="/foo" stub="backup" --> </div> </body> </html>

class App def initialize @view = ERB.new(File.read('view.erb')) end def call(env) return [200, { 'Content-Type' => 'text/html' }, [@view.result(binding)]] end end

<html> <body> <div id="foo"> Actual content! </div> </body> </html>

<html> <body> <div id="foo"> Default content! </div> </body> </html>

To Summarize


Sign up to vote on this title
UsefulNot useful