Workflow
The following outline demonstrates the high-level workflow of the Notification Service.
- The user configures the Notification Service on their Cloud Object Storage System and assigns configurations to vaults.
- The user writes or deletes objects.
- The system allocates a notification intent that includes the notification data.
- The system writes the intent to Slicestor memory in parallel with object metadata and other intents.
- The system replies to the user’s request.
- If the user request succeeds, the system sends a notification.
- If the notification send succeeds, the system deletes the intent from Slicestor memory.
- If the notification send fails, the system saves the intent to disk for retry and deletes intent from Slicestor memory.
- If the user request fails, the system does not send a notification and the intent is deleted, if it was written.
- If the user request succeeds, the system sends a notification.
- The user consumes the notification from the topic on the Kafka cluster.
- Configure notifications on the container if the container vault requires that notifications are configured on the container.
Any notification that fails to send to the Kafka cluster is saved in a retry queue in the system and is retried periodically until the send succeeds, or the vault's notification configuration is removed.
The order of notifications on the topic might not match the order of the operations that created them. The system guarantees that the notification is sent to the topic at least once. In some cases, you might see duplicate notifications.