> For the complete documentation index, see [llms.txt](https://docs.cybus.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cybus.io/2-6-1/broker/cybusmq/configuration/clustering-connections.md).

# Clustering Connections

CybusMQ clustering connection improvements for reliable message delivery and high throughput between broker nodes.

CybusMQ features optimized inter-node clustering connections that deliver reliable message preservation and high throughput. This ensures consistent communication between broker nodes even under challenging network conditions.

In a CybusMQ cluster, broker nodes communicate with each other to route messages between MQTT clients connected to different nodes. The clustering connection system handles the reliable transfer of messages over TCP connections between nodes.

## How It Works

### Sender Architecture

CybusMQ uses the following components to send messages to peer nodes:

* **Queue Process**: Continuously receives messages from MQTT sessions and stores them in a queue.
* **Sender Process**: Handles TCP send operations with configurable timeouts.

This separation allows the sender process to use longer timeout settings without blocking message collection from MQTT sessions. If the connection is lost, the queue process continues collecting messages, preventing message loss when the queue is properly sized.

Connection recovery uses an incremental backoff time for reconnection attempts.

### Receiver Architecture

The receiver side uses a pool of router processes to handle incoming messages from peer nodes. This pool-based approach improves overall throughput, particularly for routing-intensive inter-node traffic with high message volumes and small payloads.

Messages on the same topic and QoS are routed by the same process, which guarantees message ordering. Improved throughput is achieved when messages are distributed across multiple topics.

## Benefits

* **Message preservation**: Messages are not lost during connection interruptions when queues are properly sized.
* **Better connection stability**: Longer timeout settings handle less reliable connections more effectively.
* **Higher throughput**: Router process pools enable parallel processing of incoming messages.
* **Maintained ordering**: Per-topic/QoS routing ensures message order is preserved.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.cybus.io/2-6-1/broker/cybusmq/configuration/clustering-connections.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
