我正在使用 ActiveMQ 和 MQTT 协议构建一个带有大型设备的系统,我在独立服务器上使用的模型包含两个应用程序,如下所示:
App1:企业应用程序从大量设备接收消息:设备每3分钟通过主题发布到服务器:[设备] --- MQTT 协议 --> [ActiveMQ] --- Openwire 协议 --> [Glassfish with EJB using MDB订阅主题] --> Oracle DB
App2:来自Oracle DB的企业应用程序扫描命令并发送到大量设备:每个设备订阅一个唯一的主题,例如:device.0000001,然后服务器将在从服务器收到设备命令时发布到该主题[大量设备] < --- MQTT --- [ActiveMQ] <--- Openwire -- [Glassfish with EJB timer scan and publish] <-- Oracle DB <-- Web with commands
您能帮我了解一下企业模型以支持使用多服务器的大量设备吗?App1 的临时解决方案:我正在使用列表 ActiveMQ 服务器中的随机服务器来连接和发布消息。每台服务器,我都部署了独立的 ActiveMQ 和 App1 来订阅消息。
但是 App2:我只构建了一台服务器来扫描和发布消息。
哪个服务器可以发布到哪个设备连接到 ActiveMQ 的最佳模型的问题?可以将消息主题转换为队列,然后使用代理网络和多 App1 来处理唯一消息吗?