Does it make sense to use two ES clusters like a master/slave architecture.
For exemple, we have an 'active' cluster that answers queries and one 'passive' cluster that build the new version of the index. Once the new index is created switch the clusters.
The pro of this architecture for me are:
- The hardware is isolated. We know that the indexing phase won't impact the queries.
- We have the ability to "test" an update. I mean that we can run query to verify that the data inserted is coherent. Validate a new mapping etc... and then switch to the cluster when we are ok with the new configuration
The cons are:
- The hardware requirement is doubled
- We are are far from real time
- More maintenance complexity
Maybe I missed something. What do you think about that?