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