随笔分类 - 数据结构
摘要:LALB全称Locality-aware load balancing,是一个能把请求及时、自动地送到延时最低的下游的负载均衡算法,特别适合混合部署环境。 LALB可以解决的问题: 下游的机器配置不同,访问延时不同,轮询和随机分流效果不佳。 下游服务和离线服务或其他服务混部,性能难以预测。 自动地把
阅读全文
摘要:为什么需要协程 我们知道操作系统在线程等待IO的时候,会阻塞当前线程,切换到其它线程,这样在当前线程等待IO的过程中,其它线程可以继续执行。当系统线程较少的时候没有什么问题,但是当线程数量非常多的时候,却产生了问题。一是系统线程会占用非常多的内存空间,二是过多的线程切换会占用大量的系统时间。 协程刚
阅读全文
摘要:概述 ring buffer称作环形缓冲区,也称作环形队列(circular queue),是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。 使用场景 在任务间的通信、串口数据收发、log缓存、网卡处理网络数据包、音频/视频流处理中均有环形缓冲区(ring buffer) 的
阅读全文
摘要:网络模型 nonblocking + IO多路复用 原因: 1.nonblock io + 轮询等待事件完成不可取 (耗CPU cycle) 2.IO多路复用不能用block IO,因为read,write会阻塞当前线程,这样就不能单线程处理另外已经就绪的其他connfd IO事件 一个线程一个ev
阅读全文