2017-02-07 3 views
0

Ich habe vor einem Tag mit ActiveMQ gestartet, so dass mein Wissen darüber begrenzt ist. Mein Ziel ist es, die ActiveMQ-Stabilität und den Durchsatz in verschiedenen Szenarien für JMS-Nachrichten zu überprüfen. Also, folgendes ist ein Szenario. 1. Ich veröffentliche 1 mil non-persistente synchrone Nachrichten zum Thema und abonniere es synchron nicht dauerhaft Art und Weise. Ein Publisher und ein Abonnent. 2. Der Broker, Herausgeber und Abonnent ist während des Tests aktiv.Nicht persistente JMS-Nachricht verloren gehen für nicht dauerhafte Abonnenten

Leider fast die meisten Male (nur einmal habe ich alle Nachrichten aus 14 Versuchen), bekomme ich nicht alle Nachrichten (1 mil) im Teilnehmerende. fast 5500 Nachrichten sind verloren.

Ich habe den gleichen Test für tibco ems und ibm mq und habe dieses Problem nicht bekommen.

Also, für ActiveMQ, wenn ich brauche alle Nachrichten empfangen werden, ist es notwendig, dauerhafte Nachricht und dauerhafte Abonnenten immer zu verwenden?

Denken Sie nicht an den Winkel des garantierten Messaging- oder Failover-Szenarios.

Jeder Vorschlag ist willkommen.

Danke, Smith

Antwort

2

Ihr genaues Szenario nicht sicher. ActiveMQ begrenzt jedoch den Speicher, der zum Puffern von Nachrichten verwendet wird, wenn der Hersteller schneller ist als der Verbraucher, indem er alte Nachrichten ab einer gewissen Grenze löscht.

Dies ist configurable.

+0

richtig eins. Ich habe den Verlust mit 'constantPendingMessageLimitStrategy = -1' gemanagt. –

Verwandte Themen