JMS 队列的最大数量

发布于 2024-12-07 08:57:50 字数 360 浏览 1 评论 0原文

我们有一个应用程序 1)响应的自定义服务器(常规ServerSocket) 2) 在客户端桌面上运行的 Java SWING 应用程序/小程序。

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

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

谢谢

We have an application that has
1) a custom server (conventional ServerSocket) that responds to
2) Java SWING applications/applets running on client desktops.

We have more than 140 such custom servers (dedicated to each group of swing clients). We have built an administration application to manage the server startups, shutdowns and other stuff. For the communication between the Admin app and the Server we are building a JMS application.
Due to the heavy burden on the server we are not placing this JMS on the same box, therefore we have left over an option to have seperate JMS box. I need a seperate Queue for every Server.

My Question is can we have 140+ JMS Queues on a single Application Server. If yes what should be the ideal configuration of the hardware. If no, then what do you suggest.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夕色琉璃 2024-12-14 08:57:51

您可以使用更少的队列和消息选择器(提取特定于每个客户端的消息)或参见< a href="http://activemq.apache.org/scaling-queues.html" rel="nofollow">此页面介绍如何配置 ActiveMQ 来处理大量队列...

另外,如果您正在使用 KahaDB 5.3+,然后进行优化以使用更少的文件描述符等...

you can either use fewer queues and message selectors (to pull messages specific to each client) or see this page on how to configure ActiveMQ to handle large numbers of queues...

also, if you are using KahaDB 5.3+, then it is optimized to use fewer file descriptors, etc...

岁月静好 2024-12-14 08:57:51

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

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

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

I'll answer the "if not" part only.

If needed, you can reduce the queue count by making use of message selectors. A group of servers can send to one queue and be identified by a message property. You surely must have it defined already — an IP, URL that uniquely identifies a server.

This is a last-resort-solution, though, as separate queues can be monitored better.

风情万种。 2024-12-14 08:57:50

我前段时间发现这篇有趣的文章:

[ActiveMQ]由于打开的文件太多,代理在节点上打开 700 个队列后失败 - 显然它为每个队列都有一个临时文件和一个打开的文件每个 JAR(其中有 124 个!),以及 60 个杂项文件句柄。当客户端退出时,打开的文件数不会减少。一些谷歌搜索表明 ActiveMQ 中存在许多与泄露的文件句柄相关的错误。

I found this interesting article some time ago:

[ActiveMQ] Broker fails after opening 700 queues on a node due to too many open files -- apparently it has a tempfile for each queue, and an open file for each JAR (of which there are 124!), and 60 miscellaneous filehandles. The number of open files does not decrease when the client quits. Some googling implies that there are numerous bugs in ActiveMQ relating to leaked filehandles.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文