Der von mir sehr geschätzte Kollege Jo Brunner hat mal wieder tief in die Trickkiste gegriffen, und im Rahmen seiner Xenjo Cache Registry den wertvollen Urlaub dafür verwendet (Chapeau!), sich ausführlich mit lighttpd, mod_magnet und lua zu beschäftigen. Näheres findet man auf seinem Blog…
Überhaupt lohnt sich ein Blick auf all das, was Jan Kneschke (der Autor von lighttpd) so baut. Wer mit MySQL einiges an Schweinereien vorhat (zum Beispiel Sharding, Verteilung von DB-Queries auf Master & Slaves), der sollte sich im Übrigen MySQL Proxy ansehen. MySQL Proxy ist ein Query Interceptor und sitzt zwischen dem Client (also zum Beispiel dem PHP) und dem Datenbankserver. Gesteuert wird MySQL Proxy wie üblich mit lua, der kleinen wendigen Scriptsprache. Man kann also Queries on the fly umschreiben oder auf andere DB-Server „redirecten“. Ein Vorteil dabei: man muss seinen Anwendungslayer nicht anpassen, um die INSERTs/UPDATEs und DELETEs auf den Master zu richten und die SELECTs auf die Slaves – das erledigt MySQL Proxy mit einem passenden kleinen lua-Script.