AMQP отладка на примерах

    Что чудным образом не вошло в первую часть…

    $queue = new AMQPQueue($cnn, 'Habrauser')
    1257461452685: conn#74 ch#1 -> {#method<queue.declare>(ticket=0,queue=Habrauser,passive=false,durable=false,exclusive=false,auto-delete=true,nowait=false,arguments={}),null,""}
    1257461452686: conn#74 ch#1 <- {#method<queue.declare-ok>(queue=Habrauser,message-count=0,consumer-count=0),null,""}

    Объявление очереди прошло успешно: кол-во сообщений message-count=0, Подписчиков нет: consumer-count=0

    параметры объявления очереди:
    • passive=false,
    • durable=false,
    • exclusive=false,
    • auto-delete=true,
    • nowait=false


    $queue->bind("ex_2", '12345');

    1257461452703: conn#74 ch#1 -> {#method<queue.bind>(ticket=0,queue=Habrauser,exchange=ex_test2,routing-key=12345,nowait=false,arguments={}),null,""}
    1257461452703: conn#74 ch#1 <- {#method<queue.bind-ok>(),null,""}

    Отправляем сообщение:
    $mag='messsage 0';
    $exchange = new Exchange('ex_2');
    $exchange->publish( $msg, '12345' );

    1257461452704: conn#74 ch#1 -> {#method<basic.publish>(ticket=0,exchange=ex_2,routing-key=12345,mandatory=false,immediate=false),#contentHeader(content-type=text/plain, content-encoding=null, headers=null, delivery-mode=null, priority=null, correlation-id=null, reply-to=null, expiration=null, message-id=null, timestamp=null, type=null, user-id=null, app-id=null, cluster-id=null),"messsage 0"}

    Как пояснялось выше: Сообщения состоит из параметров, заголовка и тела,
    Параметры:
    • exchange=ex_2,
    • routing-key=12345,
    • mandatory=false,
    • immediate=false

    тело - понятно, что само сообщение
    В заголовке можно подчерпнуть необходимую информацию по интерпретации сообщения.

    Прием сообщения:

    1257461452713: conn#74 ch#1 <- {#method<basic.deliver>(consumer-tag=amq.ctag-hnDha3s6i5xnJkkf0kB1DQ==,delivery-tag=6,redelivered=false,exchange=ex_test2,routing-key=12345),#contentHeader(content-type=text/plain, content-encoding=null, headers=null, delivery-mode=null, priority=null, correlation-id=null, reply-to=null, expiration=null, message-id=null, timestamp=null, type=null, user-id=null, app-id=null, cluster-id=null),"messsage 4"}

    Из параметров стоит выделить:
    consumer-tag=amq.ctag-hnDha3s6i5xnJkkf0kB1DQ==, - это временный идентификатор (типа сессии) для данной подписки
    delivery-tag=6 - номер сообщения в очереди.

    Как видно, данный трейсер наиболее полно отражает информацию об информационном обмене.

    Более подробно о форматах AMQP сообщениях можно найти в спецификации amqp-xml-doc0-8

    Желаю приятной отладки.
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 0

    Only users with full accounts can post comments. Log in, please.