【问题标题】:What is NIO protocol?什么是 NIO 协议?
【发布时间】:2016-05-30 04:31:35
【问题描述】:


我刚刚浏览了 NIO 的功能,并对 NIO 和 NIO 的工作原理有了基本的了解。在我的项目中,我使用 ActiveMQ 从我的客户端读取消息。为了阅读 ActiveMQ 中的消息,我创建了消费者来加快处理接收到的数据。

我为 ActiveMQ 配置了 SSL 如下:

<transportConnector name="ssl" uri="ssl://0.0.0.0:61616?wireformat.maxFrameSize=104857600"/> 


在上面的 ActiveMQ 代理 uri 中如何配置 NIO?如果我可以在代理 uri 中配置 NIO,那么我的 uri 将如何反应?

从我读到的关于 NIO 的内容来看,我认为 NIO 提高了线程处理速度。我已经创建了 20 个消费者,以加快 ActiveMQ 中收到的消息的处理速度。

谁能解开我的疑惑??
提前致谢。

【问题讨论】:

    标签: ssl jms activemq message-queue nio


    【解决方案1】:

    什么是 NIO 协议?

    没有这样的事情。 NIO 是一种 API,而不是协议。

    【讨论】:

      【解决方案2】:

      NIO 代表 非阻塞 I/O (JAVA) NIO 的 API(应用程序编程接口)旨在提供对现代操作系统所有低级输入输出操作的访问。

      【讨论】:

      • 我认为他需要更多关于如何配置 NIO 以及它会产生什么影响的信息。
      • 不,它没有。它代表“新 I/O”。它结合了阻塞、非阻塞、多路复用和异步 I/O。
      【解决方案3】:

      之前的答案在某种程度上是正确的。 Nio 只是一个选项,它允许您配置更新的 API 以用于在代理站点处理您的连接。

      在配置高负载系统时应用它是有意义的,因为它考虑到更广泛地使用多线程功能。如果要打开 NIO API,则在使用其他协议时,应将 uri="nio://broker_ip:port_n" 放入 transportConnector 属性中,而不是 uri="tcp://broker_ip:port_n" 或 nio+your_protocol。

      在 nio 的情况下,您的传输设置列表与在 tcp 的情况下完全相同,此外,您还可以使用代理的多线程配置。

      您可以在AMQ NIO transport reference 找到更多信息。

      【讨论】:

        猜你喜欢
        • 2011-04-28
        • 2017-08-06
        • 2019-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-03
        • 2017-08-15
        • 1970-01-01
        相关资源
        最近更新 更多