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

消息处理时间详解

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

1.回调函数,监听器模式

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

2.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开始,这段时间表示消息处理时间,其等同于一次循环内执行的业务方法的时间。