防火墙后面的JMS客户端

时间:2011-09-04 21:08:48

标签: java jms

我有以下情况: 包含命令的消息必须发送到使用消费者互联网连接连接到互联网的消费者/客户端。因此,这意味着无法从Internet直接访问运行客户端的系统。命令服务器位于面向Internet的服务器上。

由于需要可靠的连接,我考虑过使用JMS队列。命令服务器将托管消息传递组件并将提供必要的队列。这是我的问题。客户端是否需要可以从Internet访问,例如它会打开用于将消息从服​​务器推送到客户端的端口吗?

如果是这种情况,还有其他模型可以避免这种行为吗?例如。我可以考虑打开从客户端到服务器的持久HTTP连接,该连接在消息被推送(COMET)时使用。但是,我真的想保留JMS提供的抽象。

作为B计划,你能推荐一些好的选择吗?

1 个答案:

答案 0 :(得分:2)

通常情况下,客户端与服务器建立连接,因此客户端可能位于防火墙后面。

如果您需要反转方向或更好地保护您的JMS服务器,您始终可以在防火墙后面的计算机和命令服务器之间建立VPN样式连接。 OpenVPN是一个强大,易于管理和安全选项的示例。因为您可以控制链接的设置方向,并且保护JMS流量和正常公开的JMS服务器端口,我认为这可能是一个很好的解决方案。

您使用什么JMS产品?