繁体   English   中英

最大JMS队列数

[英]Maximum number of JMS Queues

我们有一个应用程序,它具有1)自定义服务器(传统的ServerSocket),它响应2)在客户端桌面上运行的Java SWING应用程序/ applet。

我们有超过140个这样的自定义服务器(专用于每组swing客户端)。 我们构建了一个管理应用程序来管理服务器启动,关闭和其他东西。 对于Admin应用程序和服务器之间的通信,我们正在构建JMS应用程序。 由于服务器上的沉重负担,我们没有将这个JMS放在同一个盒子上,因此我们留下了一个选项来分离JMS盒子。 每个服务器都需要一个单独的队列。

我的问题是,我们可以在单个应用服务器上拥有140多个JMS队列。 如果是,那么硬件的理想配置应该是什么。 如果不是,那你有什么建议。

谢谢

我不久前发现了这篇有趣的文章:

[ActiveMQ] Broker由于打开的文件太多而在节点上打开700个队列后失败 - 显然它有每个队列的临时文件,每个JAR(其中有124个!)的打开文件,以及60个其他文件句柄。 客户端退出时,打开文件的数量不会减少。 一些谷歌搜索意味着ActiveMQ中有许多与泄漏文件句柄有关的错误。

您可以使用更少的队列和消息选择器 (以提取特定于每个客户端的消息),或者查看此页面 ,了解如何配置ActiveMQ以处理大量队列...

此外,如果您使用的是KahaDB 5.3+,那么它会被优化以使用更少的文件描述符等...

我会回答“如果不是”的部分。

如果需要,您可以通过使用消息选择器来减少队列数量。 一组服务器可以发送到一个队列并由message属性标识。 您肯定必须已经定义它 - 一个唯一标识服务器的IP,URL。

不过,这是最后的解决方案,因为可以更好地监控单独的队列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM