What type of node should I use for GET and PUT?

Hi!

I have the an elasticsearch cluster, with:

  • master nodes
  • data nodes (hot & warm)
  • coordinator nodes

When a client like APM post documents to it, should it to aim to coordinators nodes or master nodes?
What if I add ingest nodes?

When a client like Kibana make requests, should it to aim to coordinators nodes or master nodes?

You should not send any client traffic to your master nodes if possible. Use the coordinating nodes.

DavidTurner, thanks for replying.

When APM index documents, are the master nodes who writes them into the correct index? In that case, wouldn't it be more effective to aim directly to master nodes?

You should not send any client traffic to your master nodes if possible. Use the coordinating nodes.

Does that also apply to non-elected master nodes?

No, that would be a terrible bottleneck. The master nodes are normally uninvolved with the details of indexing.

Yes, the elected master node can change at any time without warning.

Ok, clear...

And the last one, if I have dedicated ingest nodes, should I send PUT request to there?

It's not essential, but it does save a network hop. Quoting this article:

Since Elasticsearch will automatically reroute ingest requests to ingest nodes, you don't have to specify or configure any routing information. However, if you're doing heavy ingestion and have dedicated ingest nodes, it makes sense to send index requests to these nodes directly, to avoid any extra hops in the cluster.