Help Center> Simple Message Notification> FAQs> Does SMN Ensure That Messages Are Received by Subscription Endpoints?
Updated on 2024-04-19 GMT+08:00

Does SMN Ensure That Messages Are Received by Subscription Endpoints?

SMN pushes messages to subscription endpoints asynchronously, which does not ensure the timeliness of message delivery. If your service requires quasi-real-time message delivery, exercise caution whether to use SMN.

If a subscription endpoint is accessible, it will receive all messages delivered by SMN.

If an endpoint is inaccessible, SMN saves the undelivered message in a message queue and tries to deliver it six more times. If the message still fails to be delivered, SMN discards it and does not send the information to the publisher that the message delivery failed.

The interval for re-sending an undelivered message varies depending on the length of the message queue. Usually, an undelivered message is processed within several hours. If a queue has too many undelivered messages, those messages will be processed within a day.

The timeout period for SMN to send a message to an HTTP/HTTPS endpoint is 5s. If the response duration exceeds 5s, SMN considers that the connection times out and fails to send the message.

If a message fails to be sent to an endpoint for multiple times within a specified period, the endpoint will be added to a blacklist. SMN does not send messages to blacklisted subscription endpoints.

5 to 10 minutes after the subscription endpoint is added to the blacklist, the endpoint will be automatically removed. After the removal, SMN sends messages to the subscription endpoint again.