针对有些耗时比较长的任务,我们一般会想到使用异步化的方式来进行优化逻辑。即客户端先发起一次任务请求并携带回调地址callbackUrl,然后服务端收到请求后立即返回成功,然后在后台处理具体事务,等任务完成后再回调客户端,通知完成。 首先这个方案是值得肯定的,但是我们得注意几点:1. 客户端回调是否可 ...
分类:
编程语言 时间:
2020-09-17 14:06:04
阅读次数:
36
长按二维码,关注我们在SpringBoot中(SpringMVC)下请求默认都是同步的,一个请求过去到结束都是由一个线程负责的,很多时候为了能够提高吞吐量,需要将一些操作异步化,除了一些耗时的业务逻辑可以异步化,我们的查询接口也是可以做到异步执行。一个请求到服务上,是用的web容器的线程接收的,比如线程http-nio-8084-exec-1。我们可以使用WebAsyncTask将这个请求分发给一
分类:
编程语言 时间:
2020-08-03 23:18:26
阅读次数:
68
消息队列 首先做简单的引入。 MQ主要是用来: 解耦应用、 异步化消息 流量削峰填谷 目前使用的较多的有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ等。网上的资源对各种情况都有详细的解释,在此不做过多赘述。本文仅介绍如何使用Redis实现轻量级MQ的过 ...
分类:
其他好文 时间:
2020-07-01 11:03:49
阅读次数:
91
Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。 例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回 ...
分类:
Web程序 时间:
2020-06-10 19:35:24
阅读次数:
82
后端优化的六种方法: 1.硬件升级 硬件问题对性能的影响不容忽视。 举一个例子:一个DB集群经常有慢SQL报警,业务排查下来发现SQL都很简单,该做的索引优化也都做了。后来DBA同学帮忙定位到问题是硬件过旧导致,将机械硬盘升级成固态硬盘之后报警立马消失了,效果立竿见影! 2.缓存化 缓存可以称的上是 ...
分类:
其他好文 时间:
2020-05-07 13:27:11
阅读次数:
80
1. MQ的优缺点 优点: 解耦:通过MQ解除上游系统和下游系统的调用耦合,下游系统只需要做消息的订阅和取消订阅,上游系统无需任何改动。(一生产,多消费的典型场景) 异步:通过MQ将一些不需要同步获取执行的结果,并且非常耗时的调用操作通过MQ异步化。 削峰:通过MQ将一些高峰期的高并发流量积压在MQ ...
分类:
其他好文 时间:
2020-05-01 20:32:41
阅读次数:
81
概述 场景 服务解耦 削峰填谷 异步化缓冲:最终一致性/柔性事务 MQ应用思考点 生产端可靠性投递 消费端幂等:消息只能消费一次 高可用、低延迟、可靠性 消息堆积能力 可扩展性 业界主流MQ ActiveMQ:适合传统需求,并发性差 RabbitMQ:扩展性差 RocketMQ:扩展性强 Kafka ...
分类:
编程语言 时间:
2020-04-15 00:32:15
阅读次数:
107
异步加载css资源 加开页面首屏显示速度使我们前端一直在追求的目标,而css资源在这些优化中同样也是不可或缺的。 一个网站可能有一部分css资源是必须的,他需要在页面渲染完之前就被加载完,并和html一起解析,这个暂时无法做手脚,但是我们可以把一些非关键的css进行异步化,也就是异步加载。 市面上有 ...
分类:
Web程序 时间:
2019-12-28 16:34:10
阅读次数:
109
通过对比Dubbo2.6.0,2.7.0,2.7.3版本的源码,分析Dubbo2.7 异步化的改造的细节。请大家多多指教。 ...
分类:
其他好文 时间:
2019-12-10 20:54:14
阅读次数:
99
在很多互联网应用系统中,请求处理异步化是提升系统性能一种常用的手段,而基于消息系统的异步处理由于具备高可靠性、高吞吐量的特点,因而在并发请求量比较高的互联网系统中被广泛应用。与此同时,这种方案也带来了调用链路处理上的问题,因为大部分应用请求都会要求同步响应实时处理结果,而由于请求的处理过程已经通过消息异步解耦,所以整个调用链路就变成了异步链路,此时请求链路的发起者如何同步拿到响应结果,就需要进行额外的系统设计考虑。
分类:
其他好文 时间:
2019-12-04 18:41:32
阅读次数:
116