Kafkorama supports two clustering modes, each corresponding to a different quality of service (QoS) level:
Quality of Service | Clustering Mode |
---|---|
Standard |
Standard Message Delivery |
Guaranteed |
Guaranteed Message Delivery |
These QoS levels are determined both by the Kafkorama cluster configuration and by how messages are published using the Kafkorama client libraries.
Both modes offer reliable message delivery and fault tolerance with no single point of failure, including automatic client reconnection if a cluster node goes down or if the connection between a client and a node is lost. However, Guaranteed Message Delivery provides a higher level of service, as detailed in the Guaranteed Message Delivery section below.
Clients communicate with the Kafkorama Gateway using the TCP protocol, which ensures reliable transport at the network level. In addition, Kafkorama provides high availability in both QoS modes.
Therefore, in a cluster configured for Standard Message Delivery, service continuity is maintained even in the event of a failure - such as a node going down or a broken client connection.
Both clustering modes - Standard and Guaranteed - offer reliable delivery. However, Guaranteed Message Delivery provides an extra level of reliability, described below.
Guaranteed Message Delivery offers enhanced reliability over the Standard mode:
When the client reconnects to node B at 10:12:20
, it only receives the snapshot message for subject X
- i.e., the latest retained message. It does not receive messages that were published during the disconnection period (such as the one at 10:12:05
).
When the client reconnects to node B at 10:12:20
, it receives both the snapshot message and all missed messages from the failover period - including the message at 10:12:05
.
In summary:
Learn more in the History section.
As described in the Messages section, each message can include a qos
property, allowing clients to explicitly publish messages with either STANDARD
or GUARANTEED
QoS.
Important:
If the cluster is configured for Standard Message Delivery, all messages - regardless of their qos
value - are delivered with STANDARD
semantics. However, in a Guaranteed cluster, setting a message's QoS to STANDARD
(for messages that don't require replay or history retention) can help optimize resource usage.