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