千家信息网

Reactor模型是什么呢

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,这篇文章给大家介绍Reactor模型是什么呢,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。单线程Reactor缺点:acceptor相当于是一个handler因为有这么多的缺陷,
千家信息网最后更新 2024年09月21日Reactor模型是什么呢

这篇文章给大家介绍Reactor模型是什么呢,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

  • 单线程Reactor

    • 缺点:
    • acceptor相当于是一个handler

    • 因为有这么多的缺陷, 因此单线程Reactor 模型用的比较少。

    • 这种单线程模型不能充分利用多核资源,所以实际使用的不多。

    • 当其中某个 handler 阻塞时, 会导致其他所有的 client 的 handler 都得不到执行,

    • 并且更严重的是, handler 的阻塞也会导致整个服务不能接收新的 client 请求(因为 acceptor 也被阻塞了)。

    • 因此,单线程模型仅仅适用于handler 中业务处理组件能快速完成的场景

    • 另一种画法(意思差不多):

  • 多线程的Reactor

    • 另一种画法(意思差不多):

  • 主从多线程Reactor模式

    • 因为像TCP这样需要经过3次握手才能建立连接,

    • 这个建立连接的过程也是要耗时间和资源的,

    • 单独分一个Reactor来处理,可以提高性能。

    • mainReactor负责监听连接,accept连接给subReactor处理,

    • 为什么要单独分一个Reactor来处理监听呢?

关于Reactor模型是什么呢就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0