CDL Deployment Models
This section describes the different CDL deployment models, namely:
-
CDL HA.
-
Geo HA deployment.
The CDL HA deployment involves the following:
-
Each CDL pod consists of a minimum of two replicas for high availability.
-
The CDL endpoint pod discovers the local Slots and Indexes using etcd for service discovery.
-
3. The Index and Slot pod data is distributed across maps (or shards) for write scalability and each maps have at least one replica for high availability. The default and recommended number of replicas for Slot and Index replica is two.
-
The CDL endpoint on receiving request selects the Slot shard to which the data is written to or read from. For new record creation, it selects the Slot map in a round robin manner. For existing sessions, the slot map is selected after looking up the primary key in indexing.
-
If new keys (primary or unique) are added or removed for a session, the CDL endpoint sends the key to the Indexing pods. The Index map selection takes place by hashing of the key and sending it to the appropriate Index map for updating the key in the Index. For primary key, the Indexing pod stores the Slot map-id where the session is stored. For unique-key, the Indexing pod stores the primary-key where the session is stored.
-
The CDL endpoint forwards the Create, Update, Delete, or Find request to the selected Slot(s) for writing or reading the data from the Slot memory. The slot generates an appropriate response towards the endpoint on successful processing of the request.
-
Each Indexing shard contains a leader which publishes the indexing operations to Kafka bus for guaranteed local and remote replication.
-
Each Indexing pod instance listens to the Kafka bus for Indexing events. On receipt of a set or delete event, it compares the time stamp of the event with the time stamp of the Index already present. If the Kafka event time stamp is greater than the current Index time stamp, it applies the operation to the Indexing pod, else the event from Kafka is ignored.

The CDL Geo HA deployment involves the following:
-
For CDL Geo HA deployment, each site is configured with a remote site for achieving geo redundancy.
-
In addition to sending the data to local Slots and Indexes, the CDL endpoint also sends the request to remote site cdl-endpoint over GRPC to replicate Slot data on the remote sites.
-
On receiving the Create,Update, or Delete request on the remote site, the CDL endpoint forwards the request to Slots with the same map-id as selected in the original site.
-
The Indexing data replication is achieved through the Mirror-maker. The Mirror-maker on the remote site consumes the data from the Kafka of other site and pushes the data to its local Kafka bus for replicating it to the local Index pods.
Note | For Geo HA deployments, the round-trip time (RTT) recommended between two geo sites is 50ms. |
