生产消费者模型 如何设计一个MQ消息队列?
浏览量:3064
时间:2021-03-12 01:30:55
作者:admin
如何设计一个MQ消息队列?
1. 在上图中定义发送和使用消息的过程
2。首先定义消息协议,如ActiveMQ、stomp、XMPP等
3。定义消息协议,定义消息队列需要满足的场景
是否要保证消息的可靠性,必要时要保证存储的高可用性
是否要支持同步和异步消息
是否要保证消息队列例如rocketmq是高可靠性,卡夫卡是高吞吐量,但不高可靠性。
操作系统中生产者消费者问题。消费者进程中,wait(full)和wait(mutex)顺序不能颠倒,能否详细说明为什么不?
也许网上有很多人在谈论。
这是我自己的看法。首先,如果缓冲池是空的,就没有产品,full=0。这里,我们还应该强调mutex是一个全局mutex信号量。这时,消费者是第一位的。他的程序如下:wait(mutex)被挂起,mutex被占用。等待(满)不管有多少消费者来,他们都在互斥队列中排队,这是死锁的。此时,生产者的程序wait(empty)can wait(mutex):它也被挂起,因为mutex被消费者使用,也就是说,缓冲区被消费者占用了!生产者和消费者都在等待,系统陷入僵局。我希望你明白我的意思。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。