[erlang-questions] analysis of my architecture

info <>
Tue May 19 01:27:15 CEST 2009


Hi all,
Newbie with Erlang I don't master (yet) this language.
Because of this, I would like to submit you an architecture and I hope to receive a feedback from you.

A multi-server multi-protocol application
=========================================

Rules:
- At each server (server_A, server_B,...) is associated one port and one applicative protocol.
- On each server could be connected several clients using the applicative protocol.
- After analysis (syntax, semantic) of the messages sent by the client, one row will be inserted into
the mySQL database.
- Each module, servers, process can write a message into a log (alert, warning, etc.).
- Each one can run on a different machine.
- The database will be redundant.
- the application will run 24x24 7x7.

                 +----------------+
                   |  Application    |
                 +--------+-------+
                               | 
                 +--------+--------+
                 | Application_sup |
                 +--------+--------+
                               | (one_for_one)
           +----------------+---+----------------------+
             |                               |                                  |
 +-------+------+     +-------+---------+     +------+------+
 | Log_messages |     + mySQL interface |     + servers_sup +
 +--------------+     +-----------------+      +-------------+
                                                                                |  (one_for_one)
                                                          +------------+-+---------------+
                                                           |                      |                        |
                                                 +----+-----+   +----+-----+     +----+-----+
                                                 | server_A   |   +  server_B |   ... | server_Z  |
                                                 +----+-----+   +----+-----+     +----+-----+
                                                          |                      |                         |  
                                   (one_for_one) |                      ...                     ...
                              +----------------+-------+
                               |                                      |
                 +-------+-----+              +-------+--------+
                  | tcp_listener  |               +  tcp_client_sup |
                 +--------------+             +-------+--------+
                                                                     | (simple_one_for_one)
                                                           +-----|---------+
                                                        +-------|--------+|
                                                       +--------+-------+|+
                                                       |   tcp_client        |+
                                                      +--------+-------+
 
Does my architecture coherent with the OTP model ?
Could my architecture be better ? how ?       
How to add one "server branch" without stopping the application ? 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090519/8129d187/attachment.html>


More information about the erlang-questions mailing list