tencent cloud

TDMQ for CKafka

Release Notes and Announcements
Release Notes
Broker Release Notes
Announcement
Product Introduction
Introduction and Selection of the TDMQ Product Series
What Is TDMQ for CKafka
Strengths
Scenarios
Technology Architecture
Product Series Introduction
Apache Kafka Version Support Description
Comparison with Apache Kafka
High Availability
Use Limits
Regions and AZs
Related Cloud Services
Billing
Billing Overview
Pricing
Billing Example
Changing from Postpaid by Hour to Monthly Subscription
Renewal
Viewing Consumption Details
Overdue Payments
Refund
Getting Started
Guide for Getting Started
Preparations
VPC Network Access
Public Domain Name Access
User Guide
Usage Process Guide
Configuring Account Permission
Creating Instance
Configuring Topic
Connecting Instance
Managing Messages
Managing Consumer Group
Managing Instance
Changing Instance Specification
Configuring Traffic Throttling
Configuring Elastic Scaling Policy
Configuring Advanced Features
Viewing Monitoring Data and Configuring Alarm Rules
Synchronizing Data Using CKafka Connector
Use Cases
Cluster Resource Assessment
Client Practical Tutorial
Log Integration
Open-Source Ecosystem Integration
Replacing Supporting Route (Old)
Migration Guide
Migration Solution Overview
Migrating Cluster Using Open-Source Tool
Troubleshooting
Topics
Clients
Messages
​​API Reference
History
Introduction
API Category
Making API Requests
Other APIs
ACL APIs
Instance APIs
Routing APIs
DataHub APIs
Topic APIs
Data Types
Error Codes
SDK Reference
SDK Overview
Java SDK
Python SDK
Go SDK
PHP SDK
C++ SDK
Node.js SDK
SDK for Connector
Security and Compliance
Permission Management
Network Security
Deletion Protection
Event Record
CloudAudit
FAQs
Instances
Topics
Consumer Groups
Client-Related
Network-Related
Monitoring
Messages
Agreements
CKafka Service Level Agreements
Contact Us
Glossary

Technology Architecture

PDF
Mode fokus
Ukuran font
Terakhir diperbarui: 2026-01-20 16:37:21

Architecture Description

The following figure shows the architecture of TDMQ for CKafka (CKafka):




Producer

Message producers generate messages, such as those from web activities or service logs, and publish them to the CKafka broker cluster in push mode.

CKafka Cluster

Broker: A server that stores messages. Brokers support horizontal scaling, and the more nodes there are, the higher the throughput of the cluster.
Partition: A partition. A topic can have multiple partitions. Each partition physically corresponds to a folder, which is used to store the message and index files of that partition. A partition can have multiple replicas to improve availability, but this also increases storage and network overhead.
ZooKeeper: It is responsible for cluster configuration management, leader election, and fault tolerance.

Consumer

Message consumers. Consumers are divided into several consumer groups and consume messages from brokers in pull mode.

Architecture Principle Description

High Throughput

In CKafka, a large amount of network data is persisted to disks and then transmitted over the network through disk files. The performance of this process directly affects the overall throughput of Kafka and is mainly optimized through the following mechanisms:
Efficient disk utilization: Data is written to and read from disk sequentially, maximizing disk efficiency.
Message writing: Messages are written to the page cache and then flushed to disks by asynchronous threads.
Message reading: Messages are sent directly from the page cache to the socket.
When the requested data is not found in the page cache, disk I/O occurs. The message is loaded from the disk into the page cache and then sent out through the socket.
Broker zero-copy mechanism: The sendfile system call is used to send data directly from the page cache to the network.
Reduce network overhead.
Compress data to reduce network load.
Batch processing mechanism: Producers write data to brokers in batches, and consumers pull data in batches.

Data persistence

Data persistence of CKafka is mainly implemented based on the following principles:
Partition storage distribution in a topic
In the file storage of CKafka, a single topic contains multiple partitions. Each partition physically corresponds to a folder that stores messages and index files for that partition. For example, if you create two topics (Topic 1 with 5 partitions and Topic 2 with 10 partitions), the cluster will generate 15 folders in total (5 for Topic 1 and 10 for Topic 2).
The way for file storage in partitions Physically, a partition consists of multiple segments of equal size. It supports sequential read and write operations and quickly deletes expired segments to improve disk utilization.

Scale-Out

A topic can include multiple partitions, which can be distributed on one or more brokers.
A consumer can subscribe to one or more partitions.
A producer is responsible for evenly distributing messages to the corresponding partitions.
Messages within a partition are ordered.

Consumer Group

CKafka does not delete consumed messages.
Every consumer must belong to a group.
Multiple consumers in the same consumer group cannot consume the same partition at the same time.
Different groups can consume the same message at the same time, enabling diversified modes (queue mode and publishing and subscription mode).


Bantuan dan Dukungan

Apakah halaman ini membantu?

masukan