public
Description: Lightweight middleware for bidirectional process distribution over TCP
Homepage: http://nutrun.com
Clone URL: git://github.com/gmalamid/spinal.git
gmalamid (author)
Thu Jun 04 16:11:58 -0700 2009
commit  1612612fb61bf49b393afede15c6cf7f1bd1a975
tree    a8432bd1a73ef4bb96a1e108c233a570677fd30b
parent  6498de4a0759bd16b0547c907b753493ca94262d
spinal /
name age message
file COPYING Sun Dec 07 13:16:43 -0800 2008 Added COPYING license file, gemspec and rake ut... [gmalamid]
file README Tue Dec 02 10:57:28 -0800 2008 added a readme and cleaned up rack [andykent]
file Rakefile Sun Dec 07 13:16:43 -0800 2008 Added COPYING license file, gemspec and rake ut... [gmalamid]
directory bin/ Mon Dec 15 17:23:55 -0800 2008 spinald executable [gmalamid]
directory etc/ Thu Jun 04 16:11:58 -0700 2009 deleted thin/rack client [gmalamid]
directory lib/ Loading commit data...
file spinal.gemspec Mon Dec 15 17:23:55 -0800 2008 spinald executable [gmalamid]
directory test/ Thu Jun 04 16:09:27 -0700 2009 . [gmalamid]
README
--- It's still very early days and this is experimental code, read: "Here be dragons" ---

Spinal is lightweight middleware for bidirectional process distribution over TCP.
It comes in three parts all currently implemented in Ruby:

spinald - This is the server daemon, it manages connections and distributes requests. Servers are cluster-able in a 
share nothing style architecture.

Spinal Client Library - The client Library makes it super simple to delegate work to a Spinal Service, requests can be 
blocking or asynchronous.

Spinal Service Library - Use the service library to implement workers. As with servers, services are cluster-able and 
distributed.

See etc/demo for a simplified example using Rack as a client to a directory service.