Boss缝巨大的消息在应用程序
-
18-09-2019 - |
题
目前,我正在摆弄一个应用程序,有一个建立匹配的下聊天的比喻:
- 聊天的一个目的是,保持在存储器,并包含一系列的聊天 消息
- 聊天呈现在若干浏览器windows和更新 拉在与a4j:推
该方案设置这样的:一个实例,一个聊天室对象,与它的消息之间共享页范围内的接缝部件在不同的会议。现在,当任何一届会议的员额新消息,即修改聊天对象,所有缝的部件,应被通知的新消息,以使新的国家可以转到用户界面上的所有客户。
我能想到的三种方式实现这一点:
- 缝的事件与聊天ID作为参数,然后每个组件检查ID并更新或忽略消息
- JMS队列或一个JMS主题,每个分listenes上一个过滤器只是聊天
- 一个纯粹的Java听众的机构在共享聊天物体,即每个缝件寄给它的通知是纯粹和直接java
为了辩论假设的数聊天的是大(几十万)和数量的用户小(让我们所说的2-10).
怎么每个扩展性能明智吗?你有任何其他建议,如何使这与煤层和执行?
因为我看到它,(1)将合并清理,但最终你会通知的数十万的部件在那里只有几个实际上需要它。所以它可能不会规模。
(2)将综合和仅仅取决于表现的JMS提供商(它可以交换)和也将工作中的集群环境中没有修改。我不确定有关绩效的JMS在这里,即几百邮件和万的听众不同过滤器或多或没有?
(3)将是快速的,因为只有所需的组件,将通知和该通知是纯粹和直接java。然而,并发/访问可能会出现问题,因为一些交叉届会议/组件/螺纹完成。
(1)和(3)一个解决方案,支持聚类必须加入手,如果需要在某一点。
不隶属于 StackOverflow