Skip to main content Link Menu Expand (external link) Document Search Copy Copied

UKafka - Kafka message queue

Product Introduction

About UKafka

UKafka is a distributed messaging product in the SCloud platform dedicated to processing streaming data. By creating UKafka by creating a cluster, Kafka and the services it depends on can be quickly deployed, providing users with a fast deployment, easy-to-manage, and elastically scalable streaming data processing system.

Rapid deployment is created in minutes, and node allocation, service deployment, and performance optimization are fully automated

Easy to manage Combined hardware and software deployment without worrying about the maintenance of the entire service

High performance

Inherits the performance advantages of cloud hosts and optimizes each configuration of Kafka services to improve the overall performance of the service, which is much higher than that of self-built clusters

Auto scaling

You can adjust the configuration of the entire cluster by adjusting the node configuration according to performance and capacity, supporting dynamic scaling and effectively avoiding waste of resources

Security and stability

The cluster mode is deployed on multiple independent physical servers, ensuring no resource preemption and high service availability

Fully compatible

Fully compatible with the Kafka version of the open source community, users can directly use standard APIs for development without changing the code

UKafka’s service architecture

The UKafka service master mainly contains the following components:

  • Message Subject (Topic)
  • Message Producer
  • Message Consumer
  • Message broker

Its structure is shown in the figure:

image

Term Meaning Illustrate
Topic Message subject That is, a specific message flow or class message fleet. Where the message is a valid abridge, and the subject is the genus of the message or the source of the message
Producer Message Producer That is, any service or system capable of issuing any message
Consumer Message consumers A message receiver or handler who subscribes to a single or multiple messages and obtains the published message data from the broker
Broker Message node point A group of servers that can save messages is the service node in the UKafka cluster
Partition Message partitioning That is, the topic partition, which can distribute a message subject among multiple brokers to achieve distributed and high availability of services

UKafka usage scenarios

As a distributed message processing system, UKafka is mainly responsible for processing all action flow data related to message publishing and subscribing in a high-throughput environment.

Basic monitoring: Use the basic resources as the message publisher, send monitoring data indicators related to the system and applications, and then collect and process these data and collect them through self-built systems to monitor the basic resources.

Message push: As a messaging system for messages and signaling between applications, it performs unified message publishing and subscription management to provide search management or content management.

Real-time data analysis: UKafka can provide synchronous analysis of data to analyze user behavior in real time and improve user experience by tracking user website whereabouts. And the ability to generate data storage into a UHadoop cluster for asynchronous processing of data.

Log collection: It can be used as a log system for distributed applications or platforms to provide core data for analytical databases for unified collection and processing of service logs

Create a cluster

Click “All Products” in the upper-left corner of the console and select “Kafka Message Queuing UKafka”, or you can lock it to the left menu bar.

Enter the UKafka operation interface and click “Create Cluster” to create a UKafka cluster.

Select the Kafka version, service requirements, and node model and number, with a minimum of 3 nodes. After you select it, go to the Cluster Settings page to configure cluster parameters.

For more information about the models that can be selected for clustering, see Model List

The configurable parameters of the cluster are shown in the following table (the cluster has a default configuration, please change the following configuration after confirming the actual requirements):

Parameter name The parameter type Parameter range Paraphrase
auto.create.topics.enable bool true/false Whether to allow automatic creation of topics
auto.leader.rebalance.enable bool true/false Whether to enable data balancing between nodes
default.replication.factor int 1-10 The number of replication factors by default
delete.topic.enable bool true/false Whether to allow deletion of topic information
log.cleaner.delete.retention.ms int 1-2147483646 Compress logs for the longest retention time
log.cleaner.enable bool true/false Whether to enable compressed log cleanup
log.cleanup.policy string delete/compact Log cleanup policy, pruning/compressing
log.retention.hours int 1-10000 Minimum log retention
log.segment.bytes int 1-2147483646 The size of each segment file
message.max.bytes int 1-2147483646 The maximum size of the message body
num.io.threads int 1-32 The number of threads of the processing disk IO
num.network.threads int 1-32 The number of threads requested by the processing network
num.partitions int 1-1000 Number of partitions
replica.fetch.max.bytes int 1-2147483646 The maximum size of the message when the replica is synchronized
zookeeper.session.timeout.ms int 1-2147483646 zk session timeout time
zookeeper.connection.timeout.ms int 1-2147483646 The customer terminal is connected to the ZK timeout timeout
zookeeper.sync.time.ms int 1-2147483646 ZK information synchronization interval

Notes:

replica.fetch.max.bytes must be greater than or equal to message.max.bytes; num.io.threads and num.network.threads control node load balancing and cluster performance.

Adjust cluster parameters

After the cluster is created, you can also adjust the configuration parameters of the Kafka service. The parameters are detailed in the preceding table.