# Best elasticsearch architecture for multi-site

**URL:** <https://discuss.elastic.co/t/best-elasticsearch-architecture-for-multi-site/24200>\
**Category:** Elasticsearch\
**Created:** [June 23, 2015, 2:51pm UTC](https://discuss.elastic.co/t/best-elasticsearch-architecture-for-multi-site/24200 "2015-06-23T14:51:46Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![vhj](https://avatars.discourse-cdn.com/v4/letter/v/f14d63/32.png) [@vhj](https://discuss.elastic.co/u/vhj)\
**Post date:** [June 23, 2015, 2:51pm UTC](https://discuss.elastic.co/t/best-elasticsearch-architecture-for-multi-site/24200/1 "2015-06-23T14:51:46Z")

</div>

Hi,

The definitive guide specifically advises against having a cluster spanning more than one data center, and certainly not across continents.

What then is the best architecture for solutions that use elasticsearch and do span continents?

Let's say for performance and high-availability reasons that you have three clusters of webservers in US, Europe, and Asia. These webservers use elasticseach.

Is the only viable option then to just have all the elasticsearch servers in one of the above sites?

---

<div class="post-metadata">

**Author:** ![dantuff](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@dantuff](https://discuss.elastic.co/u/dantuff)\
**Post date:** [June 23, 2015, 5:46pm UTC](https://discuss.elastic.co/t/best-elasticsearch-architecture-for-multi-site/24200/2 "2015-06-23T17:46:05Z")

</div>

You could have three clusters, one cluster in each geographic location, and have a federated search approach using the [Tribe Node](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-tribe.html).

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [June 23, 2015, 9:31pm UTC](https://discuss.elastic.co/t/best-elasticsearch-architecture-for-multi-site/24200/3 "2015-06-23T21:31:37Z")

</div>

If you want to have mutli-site then you have a few options;

1. Use Snapshot and Restore to copy the data around.
2. Get your code to index to each cluster directly.
3. Like 2, get your code to write to a queuing system and then index into each cluster individually.

Then you can use a tribe node as mentioned.

---

<div class="post-metadata">

**Author:** ![vhj](https://avatars.discourse-cdn.com/v4/letter/v/f14d63/32.png) [@vhj](https://discuss.elastic.co/u/vhj)\
**Post date:** [June 26, 2015, 8:52am UTC](https://discuss.elastic.co/t/best-elasticsearch-architecture-for-multi-site/24200/4 "2015-06-26T08:52:47Z")

</div>

many thanks, will probably look into the snapshop/restore method.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 12:05am UTC](https://discuss.elastic.co/t/best-elasticsearch-architecture-for-multi-site/24200/5 "2017-07-06T00:05:15Z")

</div>


