[erlang-questions] How to design credit control application?

Jesper Louis Andersen jesper.louis.andersen@REDACTED
Wed Sep 8 14:52:28 CEST 2010


On Tue, Sep 7, 2010 at 1:28 PM, Tomasz Pastuch
<tomasz.pastuch@REDACTED> wrote:

> I’m thinking about designing such system in erlang. We want to have fully redundant system - we cannot loose customer balances.

[..]

> I’m probably not the first person who is going to create such application – could you advise me how I should design the system in Erlang ? I appreciate for any help.

Some general comments:

The customer balances are part of the "error kernel" in the sense that
if a customer has been billed, it is very important to track this in a
safe way. In other words, the part of the code which is responsible
for this should be made as simple as possible - with all potentially
dangerous operations running compartamentalized in separate processes.
Also that kernel should probably, as you hint, be written in a
redundant way as otherwise you may loose it as soon as a machine dies
to the chainsaw-machine-murderer.

In other words: Identify the error kernel! Figure out what processes
you can't afford to loose and protect them. Once you have an idea of
where the error kernel is, you can begin to think about the processes
which need less protection in the system.

Whether to use mnesia or not is something I will skip commenting on.
My knowledge with mnesia is too weak to really understand it.


-- 
J.


More information about the erlang-questions mailing list