Publisher Confirms vs Tranzacții AMQP
Protocolul AMQP 0-9-1 include un mecanism nativ de tranzacții prin metodele tx_select, tx_commit și tx_rollback. Deși oferă garanții stricte de consistență atomică (toate mesajele publicate devin vizibile simultan), tranzacțiile AMQP sunt extrem de lente (reduc debitul cu până la 250x deoarece blochează firul de execuție la fiecare commit). În arhitecturile moderne se recomandă Publisher Confirms.
Exemplu Concret: Bloc tranzacțional AMQP
try:
channel.tx_select() # Inițializare tranzacție
channel.basic_publish(exchange='', routing_key='plati', body=b'Plata A')
channel.basic_publish(exchange='', routing_key='facturi', body=b'Factura A')
channel.tx_commit() # Salvare atomică pe broker
except Exception:
channel.tx_rollback() # Anulare completă în caz de eroare
Întrebări & Exemple de Cod:
Tranzacții AMQP (txSelect/txCommit) în RabbitMQAi o nelămurire despre utilizarea comenzii
Tranzacții AMQP (txSelect/txCommit) în RabbitMQsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.