reactor模式
为了处理web request请求,有两种web架构:基于线程模型的架构和基于事件驱动的架构。
基于线程模型
线程模型的好处是扩展性比较好,通过加server机器提供更多的线程。
但是缺点就比较多了,
因为是采用一个连接对应一个处理线程的方式。
这就需要大量的处理线程,占用大量内存,大量线程调度开销。
尤其是大量连接到来时,线程用光,导致请求被丢弃。尤其是遇到keep-alive的长连接,情况会更加严重。
基于事件驱动
事件驱动包括两个角色,事件创建者和事件消费者。
Reactor模式是事件驱动模型的一个实现。简单的说就是有一个线程不断轮询事件源,然后将其分发给对应的处理器。
由两部分组成。
reactor,就是那个单独的线程。
handler,就是对应的处理器。
一句话:reactor设计模式就是一个同步的按照事件到达顺序处理事件的分发器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。