# 主从互通

For explanation purposes, let's imagine that we have a cluster consisting of 3 nodes. It contains one index called `blogs` which has two primary shards. Each primary shard has two replicas. Copies of the same shard are never allocated to the same node, so our cluster looks something like <>.

\[\[img-distrib]] .A cluster with three nodes and one index image::images/04-01\_index.png\["A cluster with three nodes and one index"]

We can send our requests to any node in the cluster. Every node is fully capable of serving any request. Every node knows the location of every document in the cluster and so can forward requests directly to the required node. In the examples below, we will send all of our requests to `Node 1`, which we will refer to as the *requesting node*.

TIP: When sending requests, it is good practice to round-robin through all the nodes in the cluster, in order to spread the load.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hezhiqiang.gitbook.io/elasticsearch/distributed_crud/shard_interaction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
