New tutorial

Wiger Ulf <>
Wed Feb 5 21:57:14 CET 2003


From: "WILLIAMS Dominic" <>
> What do you mean (in section 1. A simple server) by "Distributed Erlang
has all or nothing security (so this is just too dangerous)"? Could you
elaborate?

I believe Joe was referring to the fact that if another node is allowed to
connect to your node using distributed erlang, a malicious program on that
node could do tremendous damage: call any exported function, including e.g.
init:stop(), or worse, call os:cmd() and do nasty things to the filesystem,
etc.

> In section 3. (summing up), I would list an additional (important)
improvement:
>
> * When server1 is down, each transaction will have degraded performance,
because the client still starts by trying server1. An improved client would
remember the last server that worked and use it first before trying the
other one...

Letting the cat out of the bag a little bit, Thomas Arts and I are working
on a little hot standby utility that has a leader election protocol, basic
data replication features, and a subscription mechanism. That framework
could fairly easily be applied to a server like Joe's, and also provide a
notification mechanism to the clients (on some port, udp or tcp) whenever a
failover occurs.

The utility works, and I think it looks really promising. We will go over
the API and semantics a bit more before we release it. Coming soon to a web
server near you...

(I will admit that it was funny, reading Joe's mail. I had just gone through
the same process trying the hot standby utility. I wrote a global
dictionary, and first thought: wow, that was really easy! Then I thought
about it some more, and thought, no - it's really difficult; now I'm
starting to get a grip on a workable solution, I think -- not to different
from Joe's actually ;-)

/Uffe




More information about the erlang-questions mailing list