黄骅港客运站电话号码,店铺logo在线制作免费,北京景观设计公司,太原网站建队列消息分为2种#xff1a;
基本模型#xff08;SimpleQueue#xff09;、工作模型#xff08;WorkQueue#xff09;
队列消息特点#xff1a;
消息不会丢失 并且 有先进先出的顺序。消息接收是有顺序的#xff0c;不是随机的#xff0c;仅有一个消费者能拿到数据
基本模型SimpleQueue、工作模型WorkQueue
队列消息特点
消息不会丢失 并且 有先进先出的顺序。消息接收是有顺序的不是随机的仅有一个消费者能拿到数据而且不同消费者拿不到同一份数据。
基本模型 SimpleQueue 在上图的模型中有以下几个概念
P为生产者也就是要发送消息的程序C为消费者消息的接受者会一直等待消息到来。queue为消息队列为上图中间红色部分。类似为一个邮箱可以缓存消息生产者向其中投递消息消费者从其中取出消息。
适用场景基本模型适用于 消息存取 数量不多频率不高。
工作模型 WorkQueue
WorkQueue简单来说就是让多个消费者绑定到一个队列共同消费队列中的消息。
弊端 当消息处理比较耗时的时候可能生产消息的速度会远远大于消息的消费速度。长此以往消息就会堆积越来越多无法及时处理。那么这时就可以用WorkQueue模型多个消费者共同处理消息处理消息的速度就能大大提高了。 工作模型它默认分配模式是 平均分配给每个消费者并没有考虑到消费者的处理能力。这样显然是有问题的。有的消费者性能高有的消费者性能低。如果两个消费者都消费同样的消息那么就会造成一个消费的快些一个消费的慢些因为性能高的消费者它的消费能力要强些性能低的消费者消费能力要弱些。 当然默认的平均分配模式也可以在消费者的配置文件中更改为能者多劳模式能力强的多干点能力弱的少干点。
适用场景工作模型适用于 消息存取 数量多频率高。