【发布时间】:2011-05-19 17:30:44
【问题描述】:
我正在设计一个系统,它将使用 jms 和一些消息传递软件(我倾向于 ActiveMQ)作为中间件。将有少于 100 个代理,每个代理每天最多通过队列推送 5000 条消息。
每条消息的有效负载约为 100 个字节。我预计大约一半 (2500) 的消息会在午夜左右聚集,而另一半会在白天稍微均匀分布。 上面给出的数字都在我预期的高端。 (是的,我可能会在不久的将来接受这种说法)。
有一种类型的消息,其有效负载会相当大,例如在 5-50mb 范围内。 这些消息每天只会从每个代理发送几次。
我的问题是: 这会以任何方式给我带来问题,还是通过消息队列发送大量数据完全正常?
例如,它会在处理较大的消息时降低吞吐量(较小的消息排队)吗?
或者消息队列会因较大的消息而阻塞?
或者我应该以不同的方式处理这个问题,比如通过 jms 发送数据的位置,然后让最终接收者在其他地方获取数据? (由于耦合、安全问题和额外配置,我希望不会出现特殊情况)。
我对 jms 的实际细节完全陌生,所以如果我需要提供更多细节,请告诉我。
已编辑: 我接受了安德烈斯真的很棒的答案。继续发布建议和意见,我会继续为所有有用的东西点赞。
【问题讨论】:
标签: java jms message-queue