首页 帮助中心 听云Server 消息处理时间详解

消息处理时间详解

MQ的消息处理时间是指应用接收到消息对消息进行业务处理的时间,根据MQ不同的获取消息的方式,MQ的消息处理时间有不同的计算方式。

回调函数(监听器模式)

MQ可以注册一个监听器来获取消息,当MQ有消息的时候会自动触发此监听器。在这种获取消息的方式下,消息处理时间为监听器自身接口方法的执行时间。

API获取消息

API获取消息的方式也是获取MQ消息的常用方式,一般会在一个循环中不停的获取消息,获取到消息后进行处理,其如以下代码示例:

while (true){
	var result = channel.BasicGet("MyExchange", true);
	if (result != null){
	    var body = result.Body;
	    var message = Encoding.UTF8.GetString(body);
	    Console.WriteLine("Received: {0}.", message);
	}
	Thread.Sleep(5000);
}

消息处理时间为一次获取到消息BasicGet方法结束到下一次BasicGet开始,这段时间表示消息处理时间,其等同于一次循环内执行的业务方法的时间。