Quick question for you.....
We have setup a test environment, which is taking messages from RabbitMQ as in input and sending to both Elastic and Mongo DB. The items going to Elastic will be stipped down, but we'll keep a store of the entire message in Mongo, more of a just in case.
I've been testing what happens if elastic or Mongo goes down or is inaccessable. I understand about enabling dead letter queue etc. When I stopped my Mongo database, I found items still being output into Elastic even though Mongo was down. I restarted the service a minute or two later, and the document did make it to Mongo. So I then tried the same thing, but leaving Mongo down overnight. I restarted in the morning the document didn't go into the database. I've been looking to see if there is a number of retries or something, but can't find any documentation on it.
I'd presume that if one output works, and the other fails, the item still might go into the dead letter queue?
My aim is to always ensure the data in Mongo and Elastic are in sync, so am I better off pushing only to Mongo and then using the data in Mongo as a single source of truth for pushing back into Elastic?
Sorry about my rambling post, hope it makes sense