rabbitmq
Posted bbqz007
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,生产-消息者之间直接互连。
以上是关于rabbitmq的主要内容,如果未能解决你的问题,请参考以下文章
RabbitMQRabbitMQ和Erlang下载与安装步骤—2023超详细最新版