basic_publish este o componentă esențială în ecosistemul RabbitMQ. Publicarea unui mesaj către un exchange cu definirea proprietăților de persistență, anteturi și identificatori de corelare.
Sintaxă și Utilizare Practică
Exemplu practic documentat pas cu pas:
import pika
import json
mesaj = {"comanda_id": 1054, "client": "Dexter", "suma": 450}
# Publicare cu delivery_mode=2 pentru salvarea mesajului pe disc (persistență garantată)
channel.basic_publish(
exchange='notificari.topic',
routing_key='user.eu.inregistrat',
body=json.dumps(mesaj),
properties=pika.BasicProperties(
delivery_mode=pika.DeliveryMode.Persistent,
content_type='application/json',
correlation_id='corr-req-8841',
headers={'sursa': 'web-api', 'versiune': '2.0'}
)
)
print("Mesaj publicat cu succes!")
Bune Practici în Producție
- Performanță și Resurse: Optimizați parametrii de alocare de resurse și respectați cerințele de I/O și memorie.
- Fiabilitate: Asigurați monitorizarea proactivă a metricilor cheie și configurați mecanisme sigure de persistență.
- Scalabilitate: Proiectați partiționarea și clusterele luând în calcul creșterea volumului de trafic.