Aaron Stone wrote:
http://www.dbmail.org/dokuwiki/doku.php?id=multifoo_architecture
                                              ^

On Wed, 2006-10-25 at 02:29 -0700, Aaron Stone wrote:
I want to draw some spare cycles in the backs of people's heads over to
a new page I just set up in the Wiki:
http://www.dbmail.org/dokuwiki/doku.php?id=mulifoo_architecture

What I want to do here is nail down a design for multiplex, multithread
and multiprocess operation to ramp up DBMail's scalability potential.

Aaron

_______________________________________________
Dbmail-dev mailing list
Dbmail-dev@dbmail.org
http://twister.fastxs.net/mailman/listinfo/dbmail-dev

_______________________________________________
Dbmail-dev mailing list
Dbmail-dev@dbmail.org
http://twister.fastxs.net/mailman/listinfo/dbmail-dev
Not knowing the details of the current source all of this is probably wrong ;-> My thaught would be a state machine based setup. Each connection has its status information contained in a nice type. Use an event driven library to trigger progression through states for each "machine". SQL I/O can be handled by a seperate thread/pool thereof, using shared memory to pass that info to the logic side. SQL connections can be throttled on a per server basis then, so the one db server can connect to a bunch of back end databases that focus on whats needed for the db's. The managment process can track which user is on what servers, giving you the ability to move backend databases without disrupting active user sessions.

With the state machine archetecture you could also (in theory at least) migrate a running server to another server without loosing client connections (if you were running through a smart enough proxy, loosing a proxy server would still be problematic I thinks as the TCP connection would be broken, I wonder if XEN could be used as a "live backup" in that instance).

Reply via email to