1. 如何消费消息?拉取(get)还是消费(consume)?
首先看get
如果没有消息,会返回空
Basic.Get会导致每条消息都会与rabbitMq产生同步通信的开销,实际效率大约为Basic.Consume的二分之一,会影响消息的吞吐量,而且无法优化消息的投递过程
再来看consume
使用Basic.Consume消费消息意味着你的应用程序会在消息可用时自动从rabbbitmq接受消息,直到客户端发出Basic.Cancel为止,这是一个异步的操作。和get一样消费消息你的应用程序仍然需要确认消息以便于让rabbitMq知道消息被处理(也就是要
Ack)。
2.什么是消费者标签
当你的应用程序发出Basic.Consume时会创建一个唯一的字符串,用来标示用过已建立的信道与rabbitmq进行通信的应用程序,这个字符串称作消费者标签
3.优化消费者性能