我刚刚了解了 NIO 的功能并了解了 NIO 的基本概念以及 NIO 的工作原理。在我的项目中,我正在使用 ActiveMQ 来读取来 self 的客户端的消息。为了读取 ActiveMQ 中的消息,我创建了消费者来加速接收到的数据的处理。
我已经为 ActiveMQ 配置了 SSL,如下所示:
<transportConnector name="ssl" uri="ssl://0.0.0.0:61616?wireformat.maxFrameSize=104857600"/>
在上面的 ActiveMQ broker uri 中,我该如何配置 NIO??如果我可以在代理 uri 中配置 NIO 那么我的 uri 将如何 react ?
从我读到的关于 NIO 的内容来看,我认为 NIO 提高了线程处理速度。我已经创建了 20 个消费者,以加快 ActiveMQ 中接收到的消息的处理速度。
谁能解开我的疑惑??
提前致谢。
最佳答案
前面的回答在一定程度上是对的。 Nio 只是一个选项,它允许您配置更新的 API 以用于处理您在代理站点的连接。
在配置高负载系统时应用它是有意义的,因为它考虑了多线程功能的更广泛使用。您应该将 uri="nio://broker_ip:port_n"
放入 transportConnector 属性中,而不是 uri="tcp://broker_ip:port_n"
或 nio+your_protocol
当你使用其他协议(protocol)时,如果你想打开 NIO API。
对于 nio,您拥有与 tcp 完全相同的传输设置列表,此外,您还可以使用代理的多线程配置。
您可以在 AMQ NIO transport reference 中找到更多信息.
关于ssl - 什么是 NIO 协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35474174/