# Coordinating node to route requests from intranet/internet to two distinct subsets of nodes

**URL:** <https://discuss.elastic.co/t/coordinating-node-to-route-requests-from-intranet-internet-to-two-distinct-subsets-of-nodes/237981>\
**Category:** Elasticsearch\
**Created:** [June 21, 2020, 11:06pm UTC](https://discuss.elastic.co/t/coordinating-node-to-route-requests-from-intranet-internet-to-two-distinct-subsets-of-nodes/237981 "2020-06-21T23:06:34Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![xandmaga](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/xandmaga/32/54919_2.png) [@xandmaga](https://discuss.elastic.co/u/xandmaga)\
**Post date:** [June 21, 2020, 11:06pm UTC](https://discuss.elastic.co/t/coordinating-node-to-route-requests-from-intranet-internet-to-two-distinct-subsets-of-nodes/237981/1 "2020-06-21T23:06:34Z")

</div>

Hi, we have very different throughput scenarios for our cluster regarding the same indexes. Our product will be available through our private intranet, but it will be released publicly too, and available through internet. In the second scenario our throughput will be extremely larger than in the first one. Therefore I'd like to know if there is a way to use a coordinating node to route traffic for two differente subset of nodes, as if i had two smaller clusters inside one big cluster and could use the coordinating node to differentiate between the two, is it possible?

---

<div class="post-metadata">

**Author:** ![rugenl](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rugenl/32/12887_2.png) [@rugenl](https://discuss.elastic.co/u/rugenl)\
**Post date:** [June 22, 2020, 12:08am UTC](https://discuss.elastic.co/t/coordinating-node-to-route-requests-from-intranet-internet-to-two-distinct-subsets-of-nodes/237981/2 "2020-06-22T00:08:43Z")

</div>

I think, if you assign "rack" or some other node attribute, then use that to send the "private" shards to private nodes, and another node attribute for the "public" node, then the routing from the coordinating nodes would automatically flow to shard owning nodes.

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [June 22, 2020, 7:42am UTC](https://discuss.elastic.co/t/coordinating-node-to-route-requests-from-intranet-internet-to-two-distinct-subsets-of-nodes/237981/3 "2020-06-22T07:42:08Z")

</div>

Can you explain why you want to isolate the two different kinds of traffic? Why not just combine it all together?

---

<div class="post-metadata">

**Author:** ![xandmaga](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/xandmaga/32/54919_2.png) [@xandmaga](https://discuss.elastic.co/u/xandmaga)\
**Post date:** [June 22, 2020, 3:10pm UTC](https://discuss.elastic.co/t/coordinating-node-to-route-requests-from-intranet-internet-to-two-distinct-subsets-of-nodes/237981/4 "2020-06-22T15:10:05Z")

</div>

Because we could have different latency requirements for the different type of users, those inside our organization and those who come from outside. This way we could have different hadware sizing for nodes serving the intranet requests and nodes serving the internet requests. Just to be clear, our expected throughput for intranet users should be around 5ops/s, but for users from internet this value should be around 50ops/s.

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [June 22, 2020, 4:58pm UTC](https://discuss.elastic.co/t/coordinating-node-to-route-requests-from-intranet-internet-to-two-distinct-subsets-of-nodes/237981/5 "2020-06-22T16:58:50Z")

</div>

I see, makes sense. It's possible you might be able to achieve this with node attributes as suggested above, using `?preference=only_nodes:attr:value` although this only affects search routing and not indexing or other cluster-wide things. For proper isolation I'd recommend setting up separate clusters and using [cross-cluster replication](https://www.elastic.co/guide/en/elasticsearch/reference/7.8/xpack-ccr.html) to keep them in sync.

---

<div class="post-metadata">

**Author:** ![xandmaga](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/xandmaga/32/54919_2.png) [@xandmaga](https://discuss.elastic.co/u/xandmaga)\
**Post date:** [June 22, 2020, 5:54pm UTC](https://discuss.elastic.co/t/coordinating-node-to-route-requests-from-intranet-internet-to-two-distinct-subsets-of-nodes/237981/6 "2020-06-22T17:54:43Z")

</div>

Thank you, all. I will look into [Cross-Cluster Replication](https://www.elastic.co/guide/en/elasticsearch/reference/7.8/xpack-ccr.html), to see if we can use it.

---

<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 20, 2020, 5:54pm UTC](https://discuss.elastic.co/t/coordinating-node-to-route-requests-from-intranet-internet-to-two-distinct-subsets-of-nodes/237981/7 "2020-07-20T17:54:50Z")

</div>

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