消息队列必须是异步的么?

开拓者Amadues 2021-06-25 23:40:21

如果请求者需要返回结果的(同步),还能用消息队列么

...全文
812 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
老王就是我 2021-06-30
  • 打赏
  • 举报
回复

同步,并不需要队列

开拓者Amadues 2021-07-02
  • 举报
回复
@老王就是我 同步方法也有高并发请求的,这个是不是服务器线程池队列的事情,跟我们业务层要实现的队列是两回事情了,可不可以这样理解?
老王就是我 2021-07-02
  • 举报
回复
@开拓者Amadues 同步,是指,我发一个请求,要明确知道处理结果(无论成功与否)。异步,则是指,我发一个请求,只要知道服务器在处理即可,不需要知道处理结果。同步异步和高并发低并发没有任何关系,并不是高并发就必须用异步处理,同步异步是业务和服务器的压力共同决定的
一只三黄鸡 2021-06-29
  • 打赏
  • 举报
回复

既然说到了队列,相当于排队了
同步的话,来一个处理一个,后面的都被关在门外了, 那就没有队列这个概念了,那为什么还需要使用消息队列呢

当然你要用,当然可以了,虽然这样就没啥必要性了

开拓者Amadues 2021-06-29
  • 举报
回复
@一只三黄鸡 同步如果是来一个处理一个,那一下子来得太多处理不完怎么办?
一只三黄鸡 2021-06-30
  • 举报
回复
@开拓者Amadues 我的意思是,既然你要同步,直接service中写个方法,业务直接调用不就好了吗? 消息队列不异步没啥意义啊,比如,APP给优惠券,但是这个业务很复杂,并且这个优惠券不需要直接给到。 如果你使用同步,用户点击后页面一直在loading,后端一直在处理数据,多个用户不就会导致服务器内存增高了吗,但是你如果使用异步,你可以告诉用户,提交成功,优惠券会在半小时内发放到你的账户,很多用户就可以排队按照先进先出的原则一个个处理,既可以提升用户体验感,也可以减低服务器压力,同时也提升了系统的扩展性。
老紫竹 2021-06-28
  • 打赏
  • 举报
回复

通电话,可以看成同步的。 

通电话留言,可以看成是异步的。

m0_37778468 2021-06-29
  • 举报
回复
@老紫竹
卖水果的net 2021-06-26
  • 打赏
  • 举报
回复

同步也可以用消息队列,但是用 redis 不更好吗?

 

KeepSayingNo 2021-06-26
  • 打赏
  • 举报
回复

可以用消息队列

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧