Coada de mesaje permite executarea asincronă a secțiunilor programului. Acest lucru vă permite să:
- Creșteți viteza de aplicare
- Servirea mai multor vizitatori (scalate)
- Utilizați diferite limbi de dezvoltare într-o singură aplicație
Sistemul de coadă este un principiu, nu o tehnologie specifică. Nu este necesară utilizarea unei soluții externe pentru implementarea unui sistem de coadă. Puteți implementa o coadă, de exemplu, MySQL și PHP. Cu toate acestea, simplitatea și disponibilitatea soluțiilor gata făcute o vor face mai rapidă.
Sistemul de coadă cuprinde două componente principale.
Server de coadă
Serverul de așteptare stochează o listă de mesaje (sau sarcini, coadă de lucru) pe care aplicația principală o trimite. Sarcina este doar informații despre ce și cum să realizați.
Serverul de coadă nu face nimic. Singura sa sarcină este de a stoca coada în sine.
manipulant
Un manipulator (sau un lucrător) face parte din programul principal care lucrează cu coada în direcția opusă. Recepționează mesaje noi din coadă și efectuează acțiunile corespunzătoare.
Ie Porțiunea lentă a programului este scoasă din programul principal și transferată lucrătorului. În aplicația principală, înlocuiește pentru a trimite mesajul la coadă.
integrare
Structura generală a sistemului de mesaje în aplicații arată astfel:
Pentru muncă aveți nevoie de:- Instalați un sistem de coadă (de exemplu, Gearman).
- Înlocuiți secțiunea lentă a programului pentru a trimite mesajul.
- Dezvoltați un handler, adică pentru a muta un site lent acolo.
- Porniți vorkerul într-unul sau mai multe filete.
- Instalați un sistem de monitorizare pentru a urmări încărcarea în coadă și starea vorkerilor.
scalare
Din punctul de vedere al scalării, sistemul de coadă oferă mari oportunități.- Posibilitatea de a realiza pompieri pe diferite tehnologii va permite utilizarea celor mai eficiente soluții.
- Utilizarea mai multor servere de mesaje va face programul fiabil și scalabil.
- Abilitatea de a rula mai multe vorkers va accelera operațiunile lente.
- Multe sisteme de mesagerie susțin prioritizarea, ceea ce va permite executarea mai rapidă a unor sarcini importante.
Practica și cel mai important
Citiți despre aplicarea sistemului de coadă Gearman în PHP. Sistemele de coadă pot și ar trebui să fie utilizate nu numai pe site-uri web mari. Operațiile lentă agravează în mod semnificativ experiența utilizării aplicației, iar cozile vor oferi o viteză mare vizitatorilor.