ssl - 什么是 NIO 协议(protocol)?

标签 ssl jms activemq message-queue nio


我刚刚了解了 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/

相关文章:

ssl - GKE ca.cert 中没有 IP,这会导致连接到 API 服务器时出现 SSL 错误

swift - Mac OsX 控制台应用程序 NSURLSession Ssl 问题

ruby-on-rails - 我可以通过 Rails 代码设置不同的 SSL 证书子域吗?

ActiveMQ 控制台不可用

google-app-engine - Google App Engine 是否支持自签名证书? (不是自定义域)

java - ActiveMQ JMS : Unknown data type -1

testing - ActiveMQ 的测试用例

java - 嵌入式 ActiveMQ 代理需要哪些依赖项?

spring - 如何构建 Spring Cloud Stream JMS ActiveMQ

java - 使用 ProducerTemplate 设置 activemq 优先级