summaryrefslogtreecommitdiff
path: root/docs/reference/modules/transport.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/reference/modules/transport.asciidoc')
-rw-r--r--docs/reference/modules/transport.asciidoc49
1 files changed, 49 insertions, 0 deletions
diff --git a/docs/reference/modules/transport.asciidoc b/docs/reference/modules/transport.asciidoc
new file mode 100644
index 0000000..62fe6d0
--- /dev/null
+++ b/docs/reference/modules/transport.asciidoc
@@ -0,0 +1,49 @@
+[[modules-transport]]
+== Transport
+
+The transport module is used for internal communication between nodes
+within the cluster. Each call that goes from one node to the other uses
+the transport module (for example, when an HTTP GET request is processed
+by one node, and should actually be processed by another node that holds
+the data).
+
+The transport mechanism is completely asynchronous in nature, meaning
+that there is no blocking thread waiting for a response. The benefit of
+using asynchronous communication is first solving the
+http://en.wikipedia.org/wiki/C10k_problem[C10k problem], as well as
+being the idle solution for scatter (broadcast) / gather operations such
+as search in Elasticsearch.
+
+[float]
+=== TCP Transport
+
+The TCP transport is an implementation of the transport module using
+TCP. It allows for the following settings:
+
+[cols="<,<",options="header",]
+|=======================================================================
+|Setting |Description
+|`transport.tcp.port` |A bind port range. Defaults to `9300-9400`.
+
+|`transport.publish_port` |The port that other nodes in the cluster
+should use when communicating with this node. Useful when a cluster node
+is behind a proxy or firewall and the `transport.tcp.port` is not directly
+addressable from the outside. Defaults to the actual port assigned via
+`transport.tcp.port`.
+
+|`transport.tcp.connect_timeout` |The socket connect timeout setting (in
+time setting format). Defaults to `30s`.
+
+|`transport.tcp.compress` |Set to `true` to enable compression (LZF)
+between all nodes. Defaults to `false`.
+|=======================================================================
+
+It also shares the uses the common
+<<modules-network,network settings>>.
+
+[float]
+=== Local Transport
+
+This is a handy transport to use when running integration tests within
+the JVM. It is automatically enabled when using
+`NodeBuilder#local(true)`.