扫码关注微信公众号
回复“面试手册”,获取本站PDF版
回复“简历”,获取高质量简历模板
回复“加群”,加入程序员交流群
回复“电子书”,获取程序员类电子书
主要有两种方式
第一种是使用List作为队列,通过RPUSH生产消息, LPOP消费消息
存在的问题:如果队列是空的,客户端会不停的pop,陷入死循环
解决方法:
- 当lpop没有消息时,可以使用sleep机制先休眠一段时间,然后再检查有没有消息。
- 可以使用blpop命令,在队列没有数据的时候,会立即进入休眠状态,一旦数据到来,则立刻醒过来。这种做法的缺点是只能提供一个消费者消费
第二种方法是pub/sub主题订阅模式,发送者(pub)发送消息,订阅者(sub)接收消息
存在的问题:消息的发布是无状态的,无法保证到达,如果订阅者在发送者发布消息时掉线,之后上线也无法接收发布者发送的消息
解决方法:使用消息队列
本站链接:https://www.mianshi.online,如需勘误或投稿,请联系微信:lurenzhang888
点击面试手册,获取本站面试手册PDF完整版