leader-follower 模型读书笔记

阅读材料:Leader/Followers
Douglas C. Schmidt, Carlos O’Ryan, Michael Kircher, Irfan Pyarali, and Frank Buschmann

1.传统的一个线程select(IO),多个线程(Worker)处理模型的缺点:
     a.IO线程收到消息后,需要动态分配内存,将请求放在该内存中,然后放入一个队列,多个Worker对这个队列进行互斥的操作,即master/worker模型
    b.三个主要缺点:动态内存分配,worker对队列的互斥操作,IO与worker之间的切换引起延迟以及cpu cache的失效

如果操作系统能够很好地支持异步IO,那么使用异步IO是最简单的!但是,遗憾,大多数操作系统支持不好,因此,采用了leader-follower模型

该模型如下:
假设有n个线程,那么其中一个线程为leader,该线程监听网络,发现连接后负责处理该连接,当该线程处理一个连接时,该线程成为follower,其他的空闲follower通过竞争成为新的leader,这样的好处是避免了线程切换带来的开销。

你可能感兴趣的:(leader-follower 模型读书笔记)