
大家好,今天小编关注到一个比较有意思的话题,就是关于延迟队列面试技巧的问题,于是小编就整理了2个相关介绍延迟队列面试技巧的解答,让我们一起看看吧。
高并发用消息队列会延迟,还有什么好方法解决?
首先你要知道队列的应用场景在于哪里。一般在需要后台大量逻辑处理或计算***的情况下***取队列,同时也可以提高前端的用户体验。
举个例子:微博-关注/粉丝,***如你有1000个粉丝,你发了一条微博,这时候1000个粉丝都会收到你的动态,消息队列便适合在这样的场景下用。原因:
1 推送1000个动态数据是耗时操作,而发送微博页面需要尽快响应,因此可将该任务放置到队列;
2 你发送了微博之后是即时生效的,但粉丝收到微博允许有些许的延迟,通过队列的方式实现也契合该需求;
3 针对队列的处理可以***取高性能的集群架构实现,架构上实现了关注点分离,系统在扩展方面更加灵活
kafka延时队列实现原理?
延迟队列存储的是对应的延迟消息,所谓“延迟消息”是指当消息被发送以后,并不想让消费者立刻拿到消息,而是等待特定时间后,消费者才能拿到这个消息进行消费。
基于消息的延迟:指为每条消息设置不同的延迟时间,那么每当队列中有新消息进入的时候就会重新根据延迟时间排序,当然这也会对性能造成极大的影响。
基于队列的延迟: 设置不同延迟级别的队列,比如5s、10s、30s、1min、5mins、10mins等,每个队列中消息的延迟时间都是相同的,这样免去了延迟排序所要承受的性能之苦,通过一定的扫描策略(比如定时)即可投递超时的消息。