zoukankan      html  css  js  c++  java
  • rabbitmq

    1. c接口

    1.1 创建conn - amqp_new_connection()

    1.2 从conn中新建一个socket - amqp_tcp_socket_new(conn)

    1.3 打开这个socket - amqp_socket_open(socket, hostname, port)

    1.4 然后登陆 - amqp_login(conn, ....)

    1.5 打开一个channel - amqp_channel_open(conn, 1)

    ** 上面5步在python接口中只是一个函数,而且从打开channel步骤开始,每步都必须手动 amqp_get_rpc_relpy(conn, ...)

    1.6 向rabbitmq声明一个queue - amqp_queue_declare(conn, ...)

    1.6.1 作为生产者

    1.6.1.1 使用conn(打开了的channel)向rabbitmq服务器发布消息 - amqp_publish(conn, ...)

    1.6.2 作为消费者

    1.6.2.1 绑定需要消费的队列 - amqp_queue_bind(conn, ...)

    1.6.2.2 告知rabbitmq服务器消费 - amqp_basic_consume(conn, ...)

    1.6.2.3 阻塞等等消息 - amqp_consume_message(conn, &envelope, ...)

    1.6.2.4 读出消息 - amqp_read_message(conn, ..., &message, ...)

    ** 上面步骤在python接口完全支持异步回调

    2. 队列地址,包括 routing_key(queue), exchange。

    bind绑定的时候要指明 exchange 以及 queue 两个名字。

    publish发布消息的时候同样要指明 exchange 以及 queue 两个名字。消息发到 exchange,再由exchange 根据自己的类型转发到对应的队列。消费者绑定到其中的队列进行消费。

    declare声明队列时,如果声明 exchange 同时要指定它的类型。如 订阅发布模式对应就是 fanout。

    3. rabbitmq充当broker的角色,并提供服务。zmq只提供简单的broker (zmq_proxy),但重点不在broker服务上,你可以利用zmq去构建自己应用需求对应模式的broker。zmq还支持inproc, ipc,生产-消息者之间直接互连。

  • 相关阅读:
    树链剖分
    后缀自动机
    莫队算法。
    线性递推BM模板
    笛卡尔积
    2019牛客暑期多校训练营(第三场) J LRU management 模拟链表操作
    线性基
    bitset 位运算
    Lindström–Gessel–Viennot lemma定理 行列式板子
    三角形
  • 原文地址:https://www.cnblogs.com/bbqzsl/p/7522261.html
Copyright © 2011-2022 走看看