Some notes on a high-performance Python application.

Michael Ströder michael at stroeder.com
Wed Mar 26 13:54:29 EDT 2008


Heiko Wundram wrote:
> Am Mittwoch, 26. März 2008 17:33:43 schrieb John Nagle:
>> ...
>>
>>     Using MySQL as a queueing engine across multiple servers is unusual,
>> but it works well.  It has the nice feature that the queue ordering
>> can be anything you can write in a SELECT statement. So we put "fair
>> queueing" in the rating scheduler; multiple requests from the same IP
>> address compete with each other, not with those from other IP addresses.
>> So no one site can use up all the rating capacity.
>> ...
>>     Does anyone else architect their systems like this?
> 
> A Xen(tm) management system I've written at least shares this aspect in that 
> the RPC subsystem for communication between the frontend and the backends is 
> basically a (MySQL) database table which is regularily queried by all 
> backends that work on VHosts to change the state (in the form of a command) 
> according to what the user specifies in the (Web-)UI.

I see nothing unusual with this:

I vaguely remember that this database approach was teached at my former 
university as a basic mechanism for distributed systems at least since 1992, 
but I'd guess much longer...

And in one of my projects a RDBMS-based queue was used for a PKI 
registration server (e.g. for handling the outbound CMP queue).

IIRC Microsoft's Biztalk Server also stores inbound and outbound queues in 
its internal MS-SQL database (which then can be the bottleneck).

Ciao, Michael.



More information about the Python-list mailing list