我正在设计一个系统,将使用jms和一些消息软件(我倾向于ActiveMQ)作为中间件。每天将有不到100个代理,每个代理通过队列推送最多5000条消息。
每条消息的有效负载大约为100字节。我预计大约一半(2500)的消息会在午夜左右集中出现,另一半则会在白天均匀分布。 上述数字都是我预期的高端范围。 (是的,我可能会在不久的将来吃掉这个陈述)。
有一种消息类型,其有效负载将显着更大,例如在5-50mb的范围内。 这些消息每个代理每天只会发送几次。
我的问题是: 这样做会在任何方面给我带来问题,还是通过消息队列发送更大量的数据非常正常?
例如,处理较大的消息时,是否会降低吞吐量(小消息排队)?
或者消息队列是否会因较大的消息而阻塞?
或者我应该以不同的方式处理这个问题,例如通过jms发送数据的位置,并让最终接收者在其他地方获取数据? (我希望不必由于耦合,安全问题和额外配置而产生特殊情况)。
我完全不了解jms的实际细节,所以请告诉我是否需要提供更多细节。
编辑: 我接受了Andres真正令人敬畏的答案。继续发布建议和意见,我将继续投票支持一切有用的内容。
每条消息的有效负载大约为100字节。我预计大约一半(2500)的消息会在午夜左右集中出现,另一半则会在白天均匀分布。 上述数字都是我预期的高端范围。 (是的,我可能会在不久的将来吃掉这个陈述)。
有一种消息类型,其有效负载将显着更大,例如在5-50mb的范围内。 这些消息每个代理每天只会发送几次。
我的问题是: 这样做会在任何方面给我带来问题,还是通过消息队列发送更大量的数据非常正常?
例如,处理较大的消息时,是否会降低吞吐量(小消息排队)?
或者消息队列是否会因较大的消息而阻塞?
或者我应该以不同的方式处理这个问题,例如通过jms发送数据的位置,并让最终接收者在其他地方获取数据? (我希望不必由于耦合,安全问题和额外配置而产生特殊情况)。
我完全不了解jms的实际细节,所以请告诉我是否需要提供更多细节。
编辑: 我接受了Andres真正令人敬畏的答案。继续发布建议和意见,我将继续投票支持一切有用的内容。