How do you detect fatal data loss when using MSMQ multicast?

When using MSMQ multicast, if the queue (with multicast support) receives some messages and then the computer experiences a temporary loss of network connection, then it will start receiving messages again when the connection is restored. If the network shutdown time is reduced, the queue will receive all messages (even those that were sent when the receiving machine was turned off). However, if the duration is long enough (a couple of minutes), then some messages will be lost ... there will be a space in the received messages.

This is expected behavior because MSMQ multicast provides reliable (but not guaranteed delivery). My question is whether MSMQ provides information when data is lost. If I understood correctly, PGM is already capable of detecting "fatal data loss", but does MSMQ disclose this information?

One thought is to include an integer with each message, which increases with every post. This will allow the receiver to detect a space in messages (from a single sender). However, I believe PGM is already doing this. I do not want to add this at the application level if PGM / MSMQ can already detect this.

Any suggestions?

+3
source share
1 answer

MSMQ, , PGM. PGM , (, ). WSAECONNRESET. / MSMQ, reset?

- , . ( , , ) , , TCP.

+1

Source: https://habr.com/ru/post/1717211/


All Articles