Some notes on a high-performance Python application.
Heiko Wundram
modelnine at modelnine.org
Wed Mar 26 13:31:42 EDT 2008
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.
FWIW, the system is based on SQLObject and CherryPy, doing most of the
parallel tasks threaded from a main process (because the largest part of the
backends is dealing with I/O from subprocesses [waiting for them to
complete]), which is different from what you do. CherryPy is also deployed
with the threading server.
--
Heiko Wundram
More information about the Python-list
mailing list