网站建设 管理 会议纪要,有什么好的书写网站,动易网站安装,wordpress 模板 导航栏消息队列
What
消息队列
是消息的队列#xff1b;是消息的临时缓冲#xff1b;是发布/订阅模式的兄弟#xff1b;在多个进程/线程间实现异步通讯模式。
Why
消息队列在多个进程/线程中实现了异步通讯模式。
这里我们先介绍下同步消息处理。对于同步消息处理#xff0…消息队列
What
消息队列
是消息的队列是消息的临时缓冲是发布/订阅模式的兄弟在多个进程/线程间实现异步通讯模式。
Why
消息队列在多个进程/线程中实现了异步通讯模式。
这里我们先介绍下同步消息处理。对于同步消息处理消息的消费者接受消息处理消息再接受下一个消息这会延迟消息的接收直到上一个消息被处理完成如果消息的处理速度很慢消息的生产者必须在上一个消息的处理期间等待直到其完成才能推送下一个消息这会大大降低消息生产者的效率。
消息队列实现异步消息处理。对于异步消息处理消息的产生和消息的处理是异步的。消息的生产者将消息暂时放入队列中然后就可以继续处理其他任务了而不是阻塞在原地等待消息被处理消息的消费者会在合适的时间 (比如空闲的时候) 从队列中取出消息进行处理。
消息队列为消息提供缓存确保消息会被消费者接收。
消息队列还能提供流控制平衡生产和消费的速度。当消息队列到达高水位 (HWM) 时不再接收消息进队并报告给调用方使其降低消息入队的速率。让消息的消费者能处理队列中的消息不至于堆积。
When
Where
消息队列常用于进程间通讯或同一进程的线程间通讯。
Who
How
消息队列可能存在隐式或显式的对消息大小的限制以及队列中存在的消息的数量的限制。
有些消息队列在多个操作系统和多个应用间传递消息这样的消息队列一般提供恢复的机制以避免因为程序或系统崩溃导致的消息丢失。
消息传递的准确语义通常有很多选项包括
持久性 – 消息可能存储在内存中写到磁盘中或者甚至上传到 DBMS 中如果对可靠性的需求表明需要更多的资源密集型解决方案的话。安全策略 – 哪个应用应该访问这些消息消息清除策略 – 队列或消息可能有“生命周期”。消息过滤 – 一些系统支持过滤数据所以订阅者可能仅能看到符合预先指定的感兴趣的标准的消息。递交策略 – 是否需要保证消息被递交至少一次还是不超过一次。路由策略 – 在一个有很多队列服务器的系统中哪个服务器应该接收消息或队列的消息批处理策略 – 消息应当被立刻递交嘛或者系统应该等待一会以尝试一次递交多条消息排队标准 – 何时消息被认为是 “已排队的”当一个队列持有它的时候或者当它至少被转发到一个远程队列中或者被转发到所有队列中接收通知 – 发布者可能需要知道何时一些或所有的订阅者已经接收到该消息。