[erlang-questions] rpc is bad? (was Re: facebook chat server)

Ulf Wiger (TN/EAB) ulf.wiger@REDACTED
Thu May 22 12:52:52 CEST 2008


Steve Vinoski skrev:
> 
> What all those years of CORBA taught me, BTW, is that RPC,
 > for a number of reasons, is generally A Really Bad Idea.
 > Call it a hard-won lesson. The Erlang flavor of RPC is
 > great because the entire Erlang system has distribution
 > fundamentally designed and built into it, but for normal
 > languages, RPC creates more problems than it solves.
> 
> --steve

This is certainly something that I'd love to see you expand
in a blog article. Specifically, I'd like to hear your views
on what the better alternative would be.
(No touch of sarcasm - I'm genuinely interested.)

One of these days, I'll try to write some understandable
documentation for my VCC code (version-controlled channels,
http://svn.ulf.wiger.net/vcc/trunk/vcc/SPECIFICATION.txt).

This is basically a more complex version of Joe's lib_chan,
with support for automatic transformation of data between
nodes running different versions, and at least the
ambition to also support non-Erlang peers.

The non-Erlang allowances are a 32-bit aligned framing protocol
per-channel encode/decode and an XML-based meta protocol.

For Erlang-to-Erlang, it could be used to cleanly separate
communication for different applications, and could offer
a reliable way to perform redundancy upgrade, install
contract checkers, etc.

The channels have asynchronous semantics, but - partly inspired
by Haskell - you can send a message on a temporary channel
(using an existing channel as template), and optionally have
it automatically removed when the other side has sent a
reply.

I'd love to receive feedback, or even better: volunteers to
help finish it. It's been gathering dust for a while, but
I keep coming back to the conclusion that it would be very
useful.

BR,
Ulf W



More information about the erlang-questions mailing list