Message queues & distributed systems

Cine dezvolta web apps mai complexe?

Ma intereseaza cum este structurata arhitectura si ce librarii folositi. Daca folositi message queues ex: zeromq, rabbitmq, nsq, etc.

EDIT:

M-ar interesa un exemplu de genul:

GET: site.com/products?filter=banned

HTTP request -> router (php) -> message queue (zeromq) -> filters service (php)

Folosim message queue ca sa {{ motiv }}

Trimite mesaje in Beanstalkd si le procesez. Totul din php. Astfel pot decupla orice proces care poate dura mai mult sau de care am nevoie sa fie gatuit (throttleed).


Simt ca raspunsul meu a fost scris un pic pe fuga, dar nu am stiud pe ca sa ma concentrez in raspuns. Te rog detaliaza un pic unde vrei mai multe detalii

GET: site.com/upload.php?file=http://altesite.com/uniquefilename.txt

Sute de clienti trimit fisiere XML (urlfile sau upload). Numele fisierului este trimis intr-o coada de procesare astfel incat totul se face asincron.

Folosind Beanstalkd procesezi fisierele asincron in ideea ca intorci raspunsul la HTTP request inainte sa se termine procesarea?

Nu asta e scopul principal, dar asta e una din consecințe.

Am folosit cu succes ZeroMQ pentru construirea unui sistem distribuit care realiza stress tests. Am dezvoltat componente în PHP și Python. M-am descurcat foarte ușor cu ghidul lor de pe site
http://zguide.zeromq.org/page:all
unde ai și diferite design pattern-uri de bază. Cu ele poți construi componente mult mai complexe.