消息队列笔记 003

本贴最后更新于 1647 天前,其中的信息可能已经天翻地覆

使用异步提升系统性能

异步是一种编程思想,使用异步模式设计的程序可以显著减少线程等待,从而在搞吞吐量的场景中,显著提升整体性能。

同步实现的性能瓶颈

采用同步实现的方式,整个服务器的所有线程大部分时间都没有在工作,而是都在等待。
3f7faf335a9e6c3009902d85b71d3058.jpg

qps = 线程数 * ( 1/响应时间)

如果我们能减少或者避免这种无意义的等待,就可以提高服务的吞吐能力。

异步实现解决等待问题

38ab8de8fbfaf4cd4b34fbd9ddd3360d.jpg

异步化实现后,程序不再是按同步顺序执行,改为异步调用和回调的机制。

小结

异步思想就是,当我们要执行比较耗时的操作的时候,不去等待操作结束,而是给这个操作一个命令:“当操作完成后,接下来去执行什么。”

异步性能虽好,实现的复杂大要大很多,代码的可读性和可维护性也会显著下降,所以它适合类似像消息队列这种业务简单,需要高吞吐量的场景下,或者必须长时间等待资源的地方。如果系统业务比较复杂,用更好理解的同步逻辑组织代码是更明智的选择

实现高性能的异步网络传输

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...