On Tue, Aug 25, 2009 at 21:20, Dave Smith<[email protected]> wrote:
> On Aug 25, 2009, at 5:07 PM, Shane Hathaway wrote:
>
>> Dave Smith wrote:
>>> I already have a good marshaling method: Google Protocol Buffers.
>>> Now I
>>> need some good software for sending messages to and from different
>>> parts
>>> of the system.
>>
>> I mentioned Twisted.  If Python is out, I think I'd use libevent,
>> which
>> provides something like the core of Twisted in C.
>>
>> http://www.monkey.org/~provos/libevent/
>
>
> I don't get it. How can libevent (or libev for that matter) be used to
> send messages over the network to different pieces of my distributed
> system? Based on the docs for libev, it just seems like an event loop,
> nothing about network messaging at all that I can find.
>
> I'm totally sold on Protocol Buffers. They're great for serializing/
> deserializing messages, but now I need a stack of software that allows
> each part of my distributed system to send messages to the other
> parts, and easily do queries as well (i.e., not just send arbitrary
> messages event-style, but also ask for data and receive responses like
> an HTTP GET).
>
> I have looked at AMQP, specifically OpenAMQ, and found its ramp-up
> time unacceptable and its documentation awkward. Further, it feels
> like overkill for the simple style of communication that I want. I'm
> looking for something that aims to achieve similar goals as AMQP, but
> with a much simpler implementation.
>
> Yes, this question came up about a year ago, and XMPP and IRC were
> considered. I never really pursued those options further because I'm
> somewhat opposed to having a central "broker" (for lack of a better
> word) that acts as a single point of failure, and adds complexity for
> routing messages to and from the pieces of my distributed system.

I don't know if this is out of the question or not, but the GnuStep
libraries for Objective-C provide some pretty handy methods of
serializing, sending, and receiving data in an arbitrarily distributed
manner.  And Objective-C is a relatively simple superset of C, so once
you compile you're pretty much good to go.

I haven't ever looked at libev or libevent, but I've written a fair
bit of distributed networking code in the Foundation Framework
(Apple's fancy, documented version of GnuStep) and it wasn't difficult
at all.

-- 
Alex Esplin

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to