如果我想在controller中调用rocketmq发送消息,并等待消息处理完成后返回再执行下一步,有没有这个方法? #7767
-
我希望将controller的全部请求放进rocketmq的消息队列,通过消息队列进行批量操作,每个controller在发送的时候都设置超时等待时间,如果超时还没处理,则自动执行下面的操作,我想问问有没有这个方法? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 4 replies
-
什么意思? 是说在A系统的controller里面,吧消息投递到消息队列,然后在B系统里收消息,然后进行处理?处理完成后,希望A的controller再返回? |
Beta Was this translation helpful? Give feedback.
-
想法是在未来可能出现大数据量的环境,可以让部分大量读表的操作批量进行,减少数据库的内存转换时间。以前测试得到一种结果,轮流批量查询不同的表,会导致延时的增加,但如果批量查询一个表后再查询其他表,同一个表的查询响应时间会变很短。第一次是200ms,第二次会是100ms,第三次会是50ms~80ms等,所以我想尽可能缩短这个时间,提高mysql的内存转换io。 |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
你这种不如吧controller改造成一个异步接口,进来发完消息,就返回accept,然后你下游处理完成后,再回调上游的一个接口来更新结果。
如果不行,就是 @cserwen 说的,参考 https://www.cnblogs.com/yunqishequ/p/12511391.html 这个看看这种用法, 这种就绑定rocketmq了。另外,我理解社区用的人也比较少。