1. Mi az a Queue?
Francsics Balázs
PHP dev @ Ustream | @winyaa on Twitter
PHPMeetup
Budapest | 2013. 11. 26.
2. Mi az a (Message)Queue?
Aszinkron kommunikációs forma
Az üzenet küldése, és fogadása nem kell hogy
azonos időben történjen
Az üzenetek tárolódnak a kézbesítésig
Producer -> Broker -> Consumer
3. Mire használjuk?
Költséges feladatok kiszervezésére
Feladat elosztására rendszerek között
Komponensek szétválasztására
Skálázhatósági problémák feloldására
4. ØMQ (zeromq)
Library, message broker nélkül
Socket system
Rövidebb utat tesz meg az üzenet
Pici, egyszerű építőkockákat nyújt
Mindent magadnak kell megépítened
Cserébe villámgyors
5. STOMP
Streaming Text Oriented Messaging Protocol
Text alapú
Nem definiál queue-t, topicot
Brokeren múlik, hogy valósítja meg ezeket
7. AMQP
Exchange: Producer hozza létre, ha nincs
queue, az üzenet elveszik
Queue: Consumer hozza létre, ez tárolja az
üzeneteket
Binding: Kapcsolat az exchange és a queue
között
8. RabbitMQ
Erlangban írt message broker
AMQP protokoll
Van perzisztens message
Clusterezhetőség
Tracing lehetőség, debuggoláshoz
Pluginezhető (pl. más protokollok)
11. Gearman
Message job broker
Elsősorban feladatok elosztására
Gearmand a job broker
Workerek csatlakoznak és várják a feladatot
Végrehajtják és visszaküldik az eredményt
14. Tehát használj queue-t, ha
Fontosak az üzeneteid
Több komponenst szeretnél összekötni
Elosztott rendszered van
Szeretnél horizontálisan skálázni
Hibatűrő rendszert szeretnél