# Beginner question about topology

**URL:** <https://discuss.elastic.co/t/beginner-question-about-topology/16197>\
**Category:** Elasticsearch\
**Created:** [March 6, 2014, 3:18pm UTC](https://discuss.elastic.co/t/beginner-question-about-topology/16197 "2014-03-06T15:18:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andy\_Davies](https://avatars.discourse-cdn.com/v4/letter/a/ccd318/32.png) [@Andy\_Davies](https://discuss.elastic.co/u/Andy_Davies)\
**Post date:** [March 6, 2014, 3:18pm UTC](https://discuss.elastic.co/t/beginner-question-about-topology/16197/1 "2014-03-06T15:18:13Z")

</div>

Hi all,

I'm sorry if this is a totally beginner question with a obvious answer, but  
I just haven't found anything that explains this clearly, most tutorials  
don't cover this sort of thing. We're investigating the use of Elastic  
Search and was wondering what the best topology would be. My reading has  
led me to think that to start with the best thing to do would be to have 2  
nodes that are on their own machines and store the data, then on each of  
our web servers we would have a non-data node that are used to handle the  
querying and indexing requests, and pass these onto the appropriate data  
node. Does this sound sensible?

The reasoning for this is that we have a RESTful service that will be  
called from external apps, and we need these to talk to the cluster as a  
whole, rather than an individual machine in case it goes down. Essentially  
the non-data nodes are the load-balancers. The only other option I can  
think of is using a load-balancer to provide the virtual IP address that  
the RESTful service calls directly - but why would I do that if elastic can  
handle this already?

Any thoughts and advice would be most welcome!

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/0274a88c-9cda-4462-be28-cd054e443b2c%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/0274a88c-9cda-4462-be28-cd054e443b2c%40googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![Binh\_Ly\_2](https://avatars.discourse-cdn.com/v4/letter/b/d07c76/32.png) [@Binh\_Ly\_2](https://discuss.elastic.co/u/Binh_Ly_2)\
**Post date:** [March 6, 2014, 11:36pm UTC](https://discuss.elastic.co/t/beginner-question-about-topology/16197/2 "2014-03-06T23:36:42Z")

</div>

Your idea sounds reasonable. The only thing to be aware of is client nodes  
generally need to run the same version of ES and also Java version as the  
server/data nodes. Also you'll need to maintain an IP list in each client  
node for it to see the server/data nodes in the case of unicast discovery.  
This may or may not matter but you'd need to take care of these in  
deployment or when you do upgrades.

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/7c7e1419-4f46-46e8-892b-86379e54419f%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/7c7e1419-4f46-46e8-892b-86379e54419f%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![Andy\_Davies](https://avatars.discourse-cdn.com/v4/letter/a/ccd318/32.png) [@Andy\_Davies](https://discuss.elastic.co/u/Andy_Davies)\
**Post date:** [March 7, 2014, 12:46pm UTC](https://discuss.elastic.co/t/beginner-question-about-topology/16197/3 "2014-03-07T12:46:36Z")

</div>

Thanks for the reply. There shouldn't be a problem in keeping the ES and  
Java versions in sync. We're a .Net app so we would be totally free to run  
whatever version of Java required. We're preparing to maintain the list of  
nodes anyway as apparently our host doesn't allow for multi-casting, so  
that's not something we wouldn't encounter anyway.

Cheers

On Thursday, 6 March 2014 23:36:42 UTC, Binh Ly wrote:

> Your idea sounds reasonable. The only thing to be aware of is client nodes  
> generally need to run the same version of ES and also Java version as the  
> server/data nodes. Also you'll need to maintain an IP list in each client  
> node for it to see the server/data nodes in the case of unicast discovery.  
> This may or may not matter but you'd need to take care of these in  
> deployment or when you do upgrades.

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/52d0d8ac-e247-4803-a9df-1d23fac52a62%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/52d0d8ac-e247-4803-a9df-1d23fac52a62%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<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, 1:45am UTC](https://discuss.elastic.co/t/beginner-question-about-topology/16197/4 "2017-07-06T01:45:01Z")

</div>


