Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( AMQP MQType = 1 NSQ MQType = 2 Kafka MQType = 3 DefaultUser = "guest" DefaultPWD = "guest" RetryInterval = 3 //断线重连间隔 )
Functions ¶
This section is empty.
Types ¶
type AMQPConsumeOPT ¶
type AMQPConsumeOPT struct { Consumer string AutoAck bool Exclusive bool NoLocal bool Nowait bool Args amqp.Table }
AMQPConsumeOPT queue:队列名称。 consumer:消费者标签,用于区分不同的消费者。 autoAck:是否自动回复ACK,true为是,回复ACK表示高速服务器我收到消息了。建议为false,手动回复,这样可控性强。 exclusive:设置是否排他,排他表示当前队列只能给一个消费者使用。 noLocal:如果为true,表示生产者和消费者不能是同一个connect。 nowait:是否非阻塞,true表示是。阻塞:表示创建交换器的请求发送后,阻塞等待RMQ Server返回信息。非阻塞:不会阻塞等待RMQ Server的返回信息,而RMQ Server也不会返回信息。(不推荐使用) args:参数,各AMQP实现功能不同。
type AMQPExchangeBindOPT ¶
type AMQPExchangeBindOPT struct { Destination string Key string Source string Nowait bool Args amqp.Table }
AMQPExchangeBindOPT destination:目的交换器,通常是内部交换器。 key:对应图中BandingKey,表示要绑定的键。 source:源交换器。 nowait:是否非阻塞,true表示是。阻塞:表示创建交换器的请求发送后,阻塞等待RMQ Server返回信息。非阻塞:不会阻塞等待RMQ Server的返回信息,而RMQ Server也不会返回信息。(不推荐使用) args:参数,各AMQP实现功能不同。
type AMQPExchangeDeclareOPT ¶
type AMQPExchangeDeclareOPT struct { Name string Kind string NoWait bool Durable bool AutoDelete bool Internal bool Args amqp.Table }
AMQPExchangeDeclareOPT name:交换器的名称,对应图中exchangeName。 kind:也叫作type,表示交换器的类型。有四种常用类型:direct、fanout、topic、headers。 durable:是否持久化,true表示是。持久化表示会把交换器的配置存盘,当RMQ Server重启后,会自动加载交换器。 autoDelete:是否自动删除,true表示是。至少有一条绑定才可以触发自动删除,当所有绑定都与交换器解绑后,会自动删除此交换器。 internal:是否为内部,true表示是。客户端无法直接发送msg到内部交换器,只有交换器可以发送msg到内部交换器。 noWait:是否非阻塞,true表示是。阻塞:表示创建交换器的请求发送后,阻塞等待RMQ Server返回信息。非阻塞:不会阻塞等待RMQ Server的返回信息,而RMQ Server也不会返回信息。(不推荐使用) args:参数,各AMQP实现功能不同。
type AMQPPubiishOPT ¶
type AMQPPubiishOPT struct { Exchange string Key string Mandatory bool //至少将消息route到一个队列中,否则就将消息return给发送者 Immediate bool //至少将消息route到一个队列中,否则就将消息return给发送者 rabbitmq 3.0不支持 }
AMQPPubiishOPT exchange:要发送到的交换机名称,对应图中exchangeName。 key:路由键,对应图中RoutingKey。 mandatory:直接false,不建议使用,后面有专门章节讲解。 immediate :直接false,不建议使用,后面有专门章节讲解。
type AMQPQueueBindOPT ¶
AMQPQueueBindOPT name:队列名称 key:对应图中BandingKey,表示要绑定的键。 exchange:交换器名称 nowait:是否非阻塞,true表示是。阻塞:表示创建交换器的请求发送后,阻塞等待RMQ Server返回信息。非阻塞:不会阻塞等待RMQ Server的返回信息,而RMQ Server也不会返回信息。(不推荐使用) args:参数,各AMQP实现功能不同。
type AMQPQueueDeclareOPT ¶
type AMQPQueueDeclareOPT struct { Name string Durable bool AutoDelete bool Exclusive bool Nowait bool Args amqp.Table }
AMQPQueueDeclareOPT name:队列名称 durable:是否持久化,true为是。持久化会把队列存盘,服务器重启后,不会丢失队列以及队列内的信息。(注:1、不丢失是相对的,如果宕机时有消息没来得及存盘,还是会丢失的。2、存盘影响性能。) autoDelete:是否自动删除,true为是。至少有一个消费者连接到队列时才可以触发。当所有消费者都断开时,队列会自动删除。 exclusive:是否设置排他,true为是。如果设置为排他,则队列仅对首次声明他的连接可见,并在连接断开时自动删除。(注意,这里说的是连接不是信道,相同连接不同信道是可见的)。 nowait:是否非阻塞,true表示是。阻塞:表示创建交换器的请求发送后,阻塞等待RMQ Server返回信息。非阻塞:不会阻塞等待RMQ Server的返回信息,而RMQ Server也不会返回信息。(不推荐使用) args:参数,各AMQP实现功能不同。