2014-10-08 76 views

回答

1

有很多方面會影響性能和吞吐量;在純粹的JMS術語中,說明獲取消息的同步或異步模型的效率會更低或更低,這是不太可能的。它將取決於應用程序編寫方式,使用的其他資源,實現所選消息傳遞提供程序以及其他因素(如客戶機和服務器機器的機器性能和配置)等諸多因素。

這個討論, Single vs Multi-threaded JMS Producer,涵蓋了一些這些主題。

對於序列,如果您是單線程的,只有一個會話,JMS規範就消息排序給出了一些保證;最好查看規範,看它是否符合您的總體要求。

通常人們會在消息製作時插入應用程序序列號;消費者因此可以檢查他們是否依次得到正確的消息。在消費時間添加序列號並不會特別有助於該消費者。

請記住,對消息傳遞的要求越嚴格,對整體架構的限制越嚴格,實現橫向可伸縮性越困難。

+0

感謝您的回覆。我也懷疑「很難說」是答案。 至於消息排序,如果Q生產者放入序列鍵 - 我不會在消費者端做任何順序 - 但它們不會。 我會進一步說它是消息和排序之間的阻抗不匹配,就像OR映射的阻抗不匹配。 – wqt 2014-10-09 16:30:25

+0

On選項可能會讓消費者查看消息的時間戳;這可以被禁用,但這取決於您相信時間的準確性。但它可能會給消費者和某種不合時宜的跡象。 – Calanais 2014-10-10 08:19:07

相關問題