reactor模式

xiaoxiao2021-02-28  90

reactor模式

为了处理web request请求,有两种web架构:基于线程模型的架构和基于事件驱动的架构。

基于线程模型

线程模型的好处是扩展性比较好,通过加server机器提供更多的线程。 但是缺点就比较多了, 因为是采用一个连接对应一个处理线程的方式。 这就需要大量的处理线程,占用大量内存,大量线程调度开销。 尤其是大量连接到来时,线程用光,导致请求被丢弃。尤其是遇到keep-alive的长连接,情况会更加严重。

基于事件驱动

事件驱动包括两个角色,事件创建者和事件消费者。 Reactor模式是事件驱动模型的一个实现。简单的说就是有一个线程不断轮询事件源,然后将其分发给对应的处理器。

由两部分组成。 reactor,就是那个单独的线程。 handler,就是对应的处理器。

一句话:reactor设计模式就是一个同步的按照事件到达顺序处理事件的分发器。

转载请注明原文地址: https://www.6miu.com/read-47792.html

最新回复(0)