# Elasticsearch distributed computing

**URL:** <https://discuss.elastic.co/t/elasticsearch-distributed-computing/117127>\
**Category:** Elasticsearch\
**Created:** [January 25, 2018, 10:03pm UTC](https://discuss.elastic.co/t/elasticsearch-distributed-computing/117127 "2018-01-25T22:03:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ailurus](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ailurus/32/17368_2.png) [@Ailurus](https://discuss.elastic.co/u/Ailurus)\
**Post date:** [January 25, 2018, 10:03pm UTC](https://discuss.elastic.co/t/elasticsearch-distributed-computing/117127/1 "2018-01-25T22:03:04Z")

</div>

Hello,

After reading a lot of articles about Elasticsearch, i still don't get how requests are distributed among the different nodes.

I would like to know how Elasticsearch perform the requests distributions. Do the requests are equally distributed ? The master perform more computation than the data node ?

Let's take an example : a cluster of 5 ElasticSearch nodes with 5 indices, each one have one replica and one primary shard.  
My first thought would be that requests are equally distributed: a master node send 4 requests to the 4 others nodes (scatter phase) ; these requests are related only to one different indice.  
Of course, results are then sent to the master node (gather phase) that send the final result to the application.

Unfortunately, i don't know if that's true or not.

The reason of my question is that I already set up a cluster with 5 nodes. They don't have the same hardware configuration (but have at least 8 GB RAM and 2 CPUs) and i was wondering if the performance will mainly rely on the worst hardware configuration of the machine hosting a node.

Thanks for your explainations 🙂

---

<div class="post-metadata">

**Author:** ![jpcarey](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jpcarey/32/46668_2.png) [@jpcarey](https://discuss.elastic.co/u/jpcarey)\
**Post date:** [January 26, 2018, 2:33am UTC](https://discuss.elastic.co/t/elasticsearch-distributed-computing/117127/2 "2018-01-26T02:33:35Z")

</div>

You might find this useful: [https://www.elastic.co/blog/found-elasticsearch-top-down](https://www.elastic.co/blog/found-elasticsearch-top-down)

Any node that receives the request becomes the coordinator. It parses the query and determines the necessary set of shards that need to be searched. It can route the request to the primary or replica shards. Multiple requests to this same node would result in sort of a round robin choice on which shard copy to use.

---

<div class="post-metadata">

**Author:** ![Ailurus](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ailurus/32/17368_2.png) [@Ailurus](https://discuss.elastic.co/u/Ailurus)\
**Post date:** [January 29, 2018, 8:17am UTC](https://discuss.elastic.co/t/elasticsearch-distributed-computing/117127/3 "2018-01-29T08:17:21Z")

</div>

Great article, thanks a lot!

It answer to my question 🙂

---

<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:** [February 26, 2018, 8:17am UTC](https://discuss.elastic.co/t/elasticsearch-distributed-computing/117127/4 "2018-02-26T08:17:32Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
