Rabbitmq整理

RabbitMQ学习总结
1.队列声明参数介绍 channel.QueueDeclare(queue: "queueName", durable: false, exclusive: false, autoDelete: false, arguments: null);
第一个参数表示队列名称.
第二个参数为是否持久化(true表示是,队列将在服务器重启时生存).
第三个参数为是否是独占队列(创建者可以使用的私有队列,断开后自动删除).
第四个参数为当所有消费者客户端连接断开时是否自动删除队列.
第五个参数为队列的其他参数.
2.声明的队列,在服务器中如果不存在了,会自动创建。而消息的内容是字节数组,在使用时,注意编码问题。
3.在rabbitmq中,exchange有4个类型:direct,topic,fanout。
4.从 AMQP 协议可以看出,Queue、Exchange 和 Binding 构成了 AMQP 协议的核心
    Producer:消息生产者,即投递消息的程序。
    Broker:消息队列服务器实体。
    Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。
    Binding:绑定,它的作用就是把 Exchange 和 Queue 按照路由规则绑定起来。
    Queue:消息队列载体,每个消息都会被投入到一个或多个队列。
    Consumer:消息消费者,即接受消息的程序。
5.Binding 表示 Exchange 与 Queue 之间的关系,我们也可以简单的认为队列对该交换机上的消息感兴趣,绑定可以附带一个额外的参数 RoutingKey。Exchange 就是根据这个 RoutingKey 和当前 Exchange 所有绑定的 Binding 做匹配,如果满足匹配,就往 Exchange 所绑定的 Queue 发送消息,这样就解决了我们向 RabbitMQ 发送一次消息,可以分发到不同的 Queue。RoutingKey 的意义依赖于交换机的类型。
6.在AMQP模型中,Exchange是接受生产者消息并将消息路由到消息队列的关键组件。ExchangeType和Binding决定了消息的路由规则.
7.消息属性Properties
Delivery mode: 是否持久化,1 - Non-persistent,2 - Persistent
content_type : 消息内容的类型
content_encoding: 消息内容的编码格式
expiration: 消息的失效时间
message_id: 消息id
timestamp:消息的时间戳
type: 类型
user_id: 用户id
app_id: 应用程序id
cluster_id: 集群id

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章