java高级培训-异步请求和异步调用的区别

69 篇文章 0 订阅
43 篇文章 0 订阅

最近,我正在研究SpringBoot的异步处理,并准备写一篇文章。收集信息时,我发现了一篇文章“SpringBoot中的异步请求和异步调用”及其许多派生文章。这篇文章确实不错,但是文章中提到的“异步请求和异步调用”这两个概念总是令人困惑,并且派生文章也混在一起。

终于忍不住想探究一番,发现除了那篇文章和衍生的文章之外,并没有其他证据来区别这两个概念。直到在StackOverflow上搜到了一篇七年前的文章,这个疑惑才解开。

今天就带大家一起探究一下“异步请求和异步调用”这两个概念。

异步请求和异步调用的区别

上面提到的文章中有这样两段话来讲异步请求和异步调用的区别:

区别一:异步请求用于解决服务器上并发请求带来的压力,从而提高请求的吞吐量。异步调用用于执行一些非主进程,并且不需要实时计算和响应任务,例如同步到Kafka的日志以记录Analysis等。

区别二:异步请求是会一直等待response相应的,需要返回结果给客户端的;而异步调用往往会马上返回给客户端响应,完成这次整个的请求,至于异步调用的任务后台运行就可以了,客户端不会关心。

仔细阅读和分析之后,文章中提到的异步请求应该指的是通过Servlet的AsyncContext对象或Spring中的Callable、DeferredResult、WebAsyncTask等方式进行业务的异步处理。而文中异步调用指的是类似在Spring中调用@Async注解的异步方法。

你看了上面的两个概念的区别,是否觉得很有道理?感觉已经成功区分了异步请求和异步调用了吗?

那么,是否想过一个问题,我们通常说请求一个接口和调用一个接口时难道不是一个意思吗?怎么在这里就变成两个截然不同的概念了?

疑问探究

遇到以上问题,请开始使用搜索引擎进行搜索。我发现在搜索“异步请求和异步调用之间的区别”时,发现的内容基本上来自上述文章和派生文章,或者异步和同步之间的区别。这并不能解释太多,但也表明这两个概念之间的差异尚未得到普遍认可。

于是开始尝试通过英文搜索引擎进行搜索。先搜了“thedifferencebetweenasynchronouscallandasynchronousrequest”,没有想要的结果,大多数文章还是讲异步和同步的区别。

改变关键字搜“thedifferencebetweenasynchronouscallandasynchronousmethod”,结果一样,并没有想要的文章。但却搜出了一个StackOverflow上的关联问题“SynchronousVsAsynchronousrelatedtowebservices”。

在该问题的下面出现了两个词组:Asynchronousservice和Asynchronouscalls。再仔细看两个词组的解释,发现正是想要的结果。

异步调用与异步服务

实际上,我是在搜索英文的过程中发现的。当讨论异步和同步之间的区别时,经常出现两个短语异步请求和异步调用,他们谈论的是异步和同步之间的区别,而不是两者之间的区别。。因此,无论异步调用还是异步请求本质上都是同一件事。

在文章“SpringBoot中的异步请求和异步调用”中提到的异步请求和异步调用之间的区别在概念上并没有明确说明什么是异步请求和什么是异步调用。而且只有那些文章这么说,因此可以认为异步请求和异步调用是同一概念(asynchronouscall)。作者提到的“异步调用”是指异步服务(Asynchronousservice)。

推荐阅读:java架构师培训:java最佳测试框架JBehave的基本介绍

如果你想了解更多关于java架构师的专业知识,可以加入JAVA架构师交流群:1160405674,里面都是同行,有资源分享包括但不限于(分布式架构、高可扩展、高性能、高并 发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx)。欢迎一到五年的工程师加入,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值