09 2019 档案
摘要:一、前言 在高并发、高吞吐量的极限情况下,简单的事情就会变得没有那么简单了。 一个业务逻辑非常简单的微服务,日常情况下都能稳定运行,一到大促就卡死甚至进程挂掉。 一个做数据汇总的应用,按照小时、天这样的粒度进行数据汇总都没有问题,到年底需要汇总全年数据的时候,没等数据汇总出来,程序就死掉了。 出现这
阅读全文
摘要:一、前言 应用程序之间要想互相通信,一起配合来实现业务功能,还需要有一套传输协议来支持。设计传输协议,并没有太多规范和要求,只要是通信双方的应用程序都能正确处理这个协议,并且没有歧义就好了。 二、如何“断句” 传输协议也是一种语言,那么在应用程序之间“通话”的过程中,与我们人类用自然语言沟通有很多相
阅读全文
摘要:一、前言 在TCP的连接上,它传输数据的基本形式就是二进制流,也就是一段一段的1和0。在一般编程语言或者网络框架提供的API中,传输数据的基本形式是字节,也就是Byte。一个字节就是8个二进制位,8个Bit,所以在这里,二进制流和字节流本质上是一样的。对于我们编写的程序来说,它需要通过网络传输的数据
阅读全文
摘要:一、前言 应用程序最常使用的 IO 资源,主要包括磁盘 IO 和网络 IO。由于现在的 SSD 的速度越来越快,对于本地磁盘的读写,异步的意义越来越小。所以,使用异步设计的方法来提升 IO 性能,我们更加需要关注的问题是,如何来实现高性能的异步网络传输。 二、理想的异步网络框架 大部分语言提供的网络
阅读全文
摘要:一、前言 异步是一种程序设计的思想,使用异步模式设计的程序可以显著减少线程等待,从而在高吞吐量的场景中,极大提升系统的整体性能,显著降低时延。因此,像消息队列这种需要超高吞吐量和超低时延的中间件系统,其核心流程中,一定会大量采用异步的设计思想。 二、异步设计如何提升系统性能? 假设我们要实现一个转账
阅读全文

浙公网安备 33010602011771号