Tin tức và phân tích của tất cả các thiết bị di động

Hướng dẫn từng bước để thiết lập và vận hành

Trong các hệ thống máy tính ngày nay, hàng triệu bản ghi dữ liệu được tạo ra mỗi ngày. Chúng bao gồm các giao dịch tài chính, đặt hàng hoặc dữ liệu từ cảm biến ô tô của bạn. Để xử lý các sự kiện phát trực tuyến theo thời gian thực này và di chuyển các bản ghi sự kiện giữa các hệ thống doanh nghiệp khác nhau một cách đáng tin cậy, bạn cần có Apache Kafka.

Apache Kafka là một giải pháp phát trực tuyến mã nguồn mở hỗ trợ hơn 1 triệu bản ghi mỗi giây. Ngoài thông lượng cao này, Apache Kafka còn cung cấp khả năng mở rộng và tính sẵn sàng cao, độ trễ thấp và khả năng lưu trữ liên tục.

Các công ty như LinkedIn, Uber và Netflix dựa vào Apache Kafka để xử lý và truyền dữ liệu theo thời gian thực. Cách dễ nhất để bắt đầu với Apache Kafka là chạy nó trên máy cục bộ của bạn. Điều này không chỉ cho phép bạn xem máy chủ Apache Kafka đang hoạt động mà còn cho phép bạn soạn và sử dụng tin nhắn.

Với kinh nghiệm thực tế chạy máy chủ, tạo chủ đề và viết mã Java bằng ứng dụng khách Kafka, bạn sẽ sẵn sàng sử dụng Apache Kafka cho tất cả các nhu cầu về đường dẫn dữ liệu của mình.

Cách tải Apache Kafka về máy tính cục bộ của bạn

Bạn có thể tải xuống phiên bản mới nhất của Apache Kafka từ liên kết chính thức. Nội dung tải về sẽ được nén ở định dạng .tgz. Sau khi tải xuống, bạn sẽ cần phải giải nén tương tự.

Nếu bạn là Linux, hãy mở terminal của bạn. Sau đó điều hướng đến vị trí bạn đã tải xuống phiên bản nén của Apache Kafka. Chạy lệnh sau:

tar -xzvf kafka_2.13-3.5.0.tgz

Sau khi thực hiện lệnh, bạn sẽ thấy một thư mục mới có tên kafka_2.13-3.5.0. Di chuyển xung quanh thư mục bằng cách sử dụng:

cd kafka_2.13-3.5.0

Bây giờ bạn có thể liệt kê nội dung của thư mục này bằng lệnh ls.

Người dùng hệ thống Windows có thể thực hiện những hành động tương tự. Nếu không tìm thấy lệnh tar, bạn có thể sử dụng công cụ của bên thứ ba như WinZip để mở kho lưu trữ.

Cách chạy Apache Kafka trên máy cục bộ của bạn

Bây giờ bạn đã tải xuống và giải nén Apache Kafka, đã đến lúc bắt đầu chạy nó. Không có trình cài đặt. Bạn có thể trực tiếp bắt đầu sử dụng nó thông qua dòng lệnh hoặc cửa sổ terminal.

Đảm bảo bạn đã cài đặt Java trước khi sử dụng Apache Kafka 8+ trên hệ thống của bạn. Apache Kafka yêu cầu cài đặt Java hoạt động.

# 1. Khởi động máy chủ Apache Zookeeper

Bước đầu tiên là khởi động Apache Zookeeper. Bạn tải nó xuống trước như một phần của kho lưu trữ. Đây là dịch vụ chịu trách nhiệm duy trì cấu hình và đảm bảo đồng bộ cho các dịch vụ khác.

Khi bạn đã ở trong thư mục nơi bạn giải nén nội dung của kho lưu trữ, hãy chạy lệnh sau:

Đối với người dùng Linux:

bin/zookeeper-server-start.sh config/zookeeper.properties

Dành cho người dùng hệ thống Windows:

bin/windows/zookeeper-server-start.bat config/zookeeper.properties

Tệp Zookeeper.properties chứa các cấu hình để chạy Apache Zookeeper. Bạn có thể định cấu hình các thuộc tính như thư mục cục bộ nơi dữ liệu sẽ được lưu trữ và cổng mà máy chủ sẽ chạy trên đó.

#2. Khởi động máy chủ Apache Kafka

Bây giờ Apache Zookeeper đã sẵn sàng và đang chạy, đã đến lúc khởi động Apache Kafka.

Mở cửa sổ Terminal hoặc Dấu nhắc Lệnh mới và điều hướng đến thư mục chứa các tệp được giải nén. Sau đó, bạn có thể khởi động máy chủ Apache Kafka bằng lệnh bên dưới:

Đối với người dùng Linux:

bin/kafka-server-start.sh config/server.properties

Dành cho người dùng hệ thống Windows:

bin/windows/kafka-server-start.bat config/server.properties

Bạn có một máy chủ Apache Kafka đang chạy. Nếu muốn thay đổi cấu hình mặc định, bạn có thể thực hiện bằng cách sửa đổi tệp server.properties. Các giá trị khác nhau có trong tài liệu chính thức.

Cách sử dụng Apache Kafka trên máy cục bộ của bạn

Bây giờ bạn đã sẵn sàng bắt đầu sử dụng Apache Kafka trên máy cục bộ của mình để soạn và sử dụng tin nhắn. Vì Apache Zookeeper và Apache Kafka đều đang hoạt động nên hãy xem cách tạo chủ đề đầu tiên, viết tin nhắn đầu tiên và sử dụng nó.

Các bước để tạo chủ đề trong Apache Kafka là gì?

Trước khi bạn tạo chủ đề đầu tiên, hãy tìm hiểu xem chủ đề thực sự là gì. Trong Apache Kafka, chủ đề là một kho lưu trữ dữ liệu logic giúp truyền dữ liệu. Hãy coi nó như một kênh qua đó dữ liệu được truyền từ thành phần này sang thành phần khác.

Một chủ đề hỗ trợ nhiều nhà sản xuất và nhiều người tiêu dùng – nhiều hệ thống có thể ghi và đọc từ một chủ đề. Không giống như các hệ thống nhắn tin khác, mỗi tin nhắn chủ đề có thể được sử dụng nhiều lần. Ngoài ra, bạn cũng có thể đề cập đến thời gian lưu giữ tin nhắn.

Hãy lấy một ví dụ về một hệ thống (nhà sản xuất) tạo ra dữ liệu cho các giao dịch ngân hàng. Và một hệ thống khác (người tiêu dùng) sử dụng dữ liệu này và gửi thông báo ứng dụng cho người dùng. Để tạo điều kiện thuận lợi cho việc này, cần có một chủ đề.

Mở một thiết bị đầu cuối hoặc cửa sổ nhắc lệnh mới và điều hướng đến thư mục nơi bạn đã giải nén tệp lưu trữ. Lệnh sau sẽ tạo một chủ đề có tên là giao dịch:

Đối với người dùng Linux:

bin/kafka-topics.sh --create --topic transactions --bootstrap-server localhost:9092

Dành cho người dùng hệ thống Windows:

bin/windows/kafka-topics.bat --create --topic transactions --bootstrap-server localhost:9092

Bạn đã tạo chủ đề đầu tiên của mình và bạn có thể bắt đầu tạo và sử dụng tin nhắn.

Làm cách nào để tạo thông báo cho Apache Kafka?

Với chủ đề Apache Kafka đã sẵn sàng, giờ đây bạn có thể viết tin nhắn đầu tiên của mình. Mở cửa sổ Terminal hoặc Dấu nhắc Lệnh mới hoặc sử dụng cùng cửa sổ bạn đã sử dụng để tạo chủ đề. Sau đó, hãy đảm bảo rằng bạn đang ở đúng thư mục nơi bạn đã giải nén nội dung của kho lưu trữ. Bạn có thể sử dụng dòng lệnh để viết tin nhắn về một chủ đề nhất định bằng cách sử dụng lệnh sau:

Đối với người dùng Linux:

bin/kafka-console-producer.sh --topic transactions --bootstrap-server localhost:9092

Dành cho người dùng hệ thống Windows:

bin/windows/kafka-console-producer.bat --topic transactions --bootstrap-server localhost:9092

Sau khi chạy lệnh, bạn sẽ thấy một terminal hoặc cửa sổ nhắc lệnh đang chờ nhập. Viết tin nhắn đầu tiên của bạn và nhấn Enter.

> This is a transactional record for $100

Bạn đã tạo thông báo Apache Kafka đầu tiên trên máy cục bộ của mình. Sau đó, bạn có thể sử dụng tin nhắn này ngay bây giờ.

Làm cách nào để sử dụng tin nhắn từ Apache Kafka?

Miễn là chủ đề của bạn đã được tạo và bạn đã tạo một thông báo cho chủ đề Kafka của mình, bây giờ bạn có thể sử dụng thông báo đó.

Apache Kafka cho phép bạn gắn nhiều người tiêu dùng vào cùng một chủ đề. Mỗi người tiêu dùng có thể thuộc về một nhóm người tiêu dùng – một mã định danh logic. Ví dụ: nếu bạn có hai dịch vụ cần sử dụng cùng một dữ liệu, chúng có thể có các nhóm người tiêu dùng khác nhau.

Tuy nhiên, nếu bạn có hai phiên bản của cùng một dịch vụ, bạn muốn tránh sử dụng và xử lý cùng một thông báo hai lần. Trong trường hợp này, cả hai sẽ có cùng một nhóm người tiêu dùng.

Trong cửa sổ terminal hoặc dấu nhắc lệnh, hãy đảm bảo bạn đang ở đúng thư mục. Sử dụng lệnh sau để khởi động người tiêu dùng:

Đối với người dùng Linux:

bin/kafka-console-consumer.sh --topic transactions --from-beginning --bootstrap-server localhost:9092 --group notif-consumer

Dành cho người dùng hệ thống Windows:

bin/windows/kafka-console-consumer.bat --topic transactions --from-beginning --bootstrap-server localhost:9092 --group notif-consumer

Bạn sẽ thấy thông báo bạn đã tạo trước đó sẽ xuất hiện trên thiết bị đầu cuối của bạn. Bạn đã sử dụng Apache Kafka để khai thác thông điệp đầu tiên của mình.

Lệnh kafka-console-consumer chấp nhận nhiều đối số được truyền. Chúng ta hãy xem ý nghĩa của từng ý nghĩa:

  • –topic đề cập đến chủ đề bạn sẽ theo đuổi
  • –from-begin yêu cầu người dùng bảng điều khiển bắt đầu đọc tin nhắn từ tin nhắn hiện tại đầu tiên
  • Máy chủ Apache Kafka của bạn được liệt kê với tùy chọn –bootstrap-server
  • Ngoài ra, bạn có thể đề cập đến một nhóm người tiêu dùng bằng cách chuyển tham số -group
  • Trong trường hợp không có tham số nhóm người tiêu dùng, nó sẽ được tạo tự động

Khi máy khách bảng điều khiển đang chạy, bạn có thể thử tạo tin nhắn mới. Bạn sẽ thấy rằng tất cả chúng đều đã được sử dụng và sẽ xuất hiện trong thiết bị đầu cuối của bạn.

Bây giờ chúng ta đã tạo chủ đề cũng như tạo và sử dụng thành công các tin nhắn, hãy tích hợp chủ đề này vào một ứng dụng Java.

Cách tạo nhà sản xuất và người tiêu dùng Apache Kafka bằng Java

Trước khi bắt đầu, hãy đảm bảo bạn đã cài đặt phiên bản Java trên máy tính cục bộ của mình 8+. Apache Kafka cung cấp thư viện máy khách riêng để liên kết liền mạch. Nếu bạn đang sử dụng Maven để quản lý các phần phụ thuộc, hãy thêm phần phụ thuộc sau vào tệp pom.xml của bạn

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>3.5.0</version>
</dependency>

Thư viện cũng có thể được tải xuống từ trang Kho lưu trữ Maven và thêm nó vào đường dẫn lớp Java của bạn.

Sau khi tạo thư viện, hãy mở trình soạn thảo mã bạn chọn. Hãy xem cách bạn có thể điều hành nhà sản xuất và người tiêu dùng bằng cách sử dụng Java.

Tạo một nhà sản xuất Java Kafka Java

Sau khi cài đặt thư viện kafka-clients, giờ đây bạn có thể bắt đầu tạo Nhà sản xuất Kafka của mình.

Hãy tạo một lớp có tên SimpleProducer.java. Người này sẽ chịu trách nhiệm soạn tin nhắn về chủ đề bạn đã tạo trước đó. Bên trong lớp này, bạn sẽ tạo một phiên bản của org.apache.kafka.clients.producer.KafkaProducer. Sau đó, bạn sẽ sử dụng nhà sản xuất này để gửi tin nhắn.

Cần có máy chủ và cổng máy chủ Apache Kafka để tạo nhà sản xuất Kafka. Vì bạn đang chạy nó trên máy cục bộ nên máy chủ của bạn sẽ là localhost. Vì bạn chưa thay đổi các thuộc tính mặc định khi khởi động máy chủ nên cổng sẽ là 9092. Hãy xem xét đoạn mã sau để giúp bạn tạo nhà sản xuất:

package org.example.kafka;

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;
import org.apache.kafka.common.serialization.StringSerializer;

import java.util.Properties;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;

public class SimpleProducer {

    private final KafkaProducer<String, String> producer;

    public SimpleProducer(String host, String port) {
        String server = host + ":" + port;
        Properties properties = new Properties();
        properties.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, server);
        properties.setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        properties.setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        this.producer = new KafkaProducer<>(properties);
    }
}

Bạn sẽ nhận thấy rằng ba thuộc tính đang được thiết lập. Chúng ta hãy nhanh chóng đi qua từng người trong số họ:

  • BOOTSTRAP_SERVERS_CONFIG cho phép bạn chỉ định nơi máy chủ Apache Kafka đang chạy
  • KEY_SERIALIZER_CLASS_CONFIG cho nhà sản xuất biết định dạng nào sẽ sử dụng để gửi khóa tin nhắn.
  • Định dạng gửi tin nhắn thực tế được xác định bởi thuộc tính VALUE_SERIALIZER_CLASS_CONFIG.

Vì bạn sẽ gửi tin nhắn văn bản nên cả hai thuộc tính đều được đặt để sử dụng StringSerializer.class.

Để thực sự gửi tin nhắn đến chủ đề của bạn, bạn cần sử dụng phương thức production.send(), phương thức này cần có một ProduceRecord. Mã bên dưới hiển thị một phương thức sẽ gửi tin nhắn đến chủ đề và in phản hồi cùng với phần bù của tin nhắn.

public void produce(String topic, String message) throws ExecutionException, InterruptedException {
    ProducerRecord<String, String> record = new ProducerRecord<>(topic, message);
    final Future<RecordMetadata> send = this.producer.send(record);
    final RecordMetadata recordMetadata = send.get();
    System.out.println(recordMetadata);
}

Sau khi nhập tất cả mã, bây giờ bạn có thể gửi tin nhắn đến chủ đề của mình. Bạn có thể sử dụng phương pháp chính để kiểm tra điều này như trong mã bên dưới:

package org.example.kafka;

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;
import org.apache.kafka.common.serialization.StringSerializer;

import java.util.Properties;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;

public class SimpleProducer {

    private final KafkaProducer<String, String> producer;

    public SimpleProducer(String host, String port) {
        String server = host + ":" + port;
        Properties properties = new Properties();
        properties.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, server);
        properties.setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        properties.setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        this.producer = new KafkaProducer<>(properties);
    }

    public void produce(String topic, String message) throws ExecutionException, InterruptedException {
        ProducerRecord<String, String> record = new ProducerRecord<>(topic, message);
        final Future<RecordMetadata> send = this.producer.send(record);
        final RecordMetadata recordMetadata = send.get();
        System.out.println(recordMetadata);
    }

    public static void main(String[] args) throws Exception{
       SimpleProducer producer = new SimpleProducer("localhost", "9092");
       producer.produce("transactions", "This is a transactional record of $200");
    }
}

Trong mã này, bạn tạo SimpleProducer kết nối với máy chủ Apache Kafka trên máy cục bộ của bạn. Trong nội bộ, nó sử dụng KafkaProducer để soạn tin nhắn văn bản về bạn.

Tạo một người tiêu dùng Apache Kafka Java

Đã đến lúc tạo một ứng dụng tiêu dùng Apache Kafka bằng máy khách Java. Tạo một lớp có tên SimpleConsumer.java. Sau đó, bạn tạo một hàm tạo cho lớp này để khởi tạo org.apache.kafka.clients.consumer.KafkaConsumer. Để tạo người tiêu dùng, bạn cần có máy chủ và cổng chạy Apache Kafka. Ngoài ra, bạn cần có một nhóm người tiêu dùng và một chủ đề bạn muốn sử dụng. Sử dụng đoạn mã được đưa ra dưới đây:

package org.example.kafka;

import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.common.serialization.StringDeserializer;

import java.time.Duration;
import java.util.List;
import java.util.Properties;
import java.util.concurrent.atomic.AtomicBoolean;

public class SimpleConsumer {

    private static final String OFFSET_RESET = "earliest";

    private final KafkaConsumer<String, String> consumer;
    private boolean keepConsuming = true;

    public SimpleConsumer(String host, String port, String consumerGroupId, String topic) {
        String server = host + ":" + port;
        Properties properties = new Properties();
        properties.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, server);
        properties.setProperty(ConsumerConfig.GROUP_ID_CONFIG, consumerGroupId);
        properties.setProperty(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, OFFSET_RESET);
        properties.setProperty(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
        properties.setProperty(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
        this.consumer = new KafkaConsumer<>(properties);
        this.consumer.subscribe(List.of(topic));
    }
}

Giống như Nhà sản xuất Kafka, Người tiêu dùng Kafka cũng có một đối tượng Thuộc tính. Chúng ta hãy xem tất cả các bộ thuộc tính khác nhau:

  • BOOTSTRAP_SERVERS_CONFIG cho người tiêu dùng biết máy chủ Apache Kafka đang chạy ở đâu
  • Nhóm người tiêu dùng được liệt kê bằng GROUP_ID_CONFIG
  • Khi người tiêu dùng bắt đầu sử dụng, AUTO_OFFSET_RESET_CONFIG cho phép bạn đề cập đến khoảng thời gian bạn muốn bắt đầu sử dụng tin nhắn từ
  • KEY_DESERIALIZER_CLASS_CONFIG thông báo cho người tiêu dùng về loại khóa của tin nhắn
  • VALUE_DESERIALIZER_CLASS_CONFIG cho người tiêu dùng biết về thông báo hiện tại

Vì trong trường hợp của bạn, bạn sẽ sử dụng tin nhắn văn bản nên thuộc tính deserializer được đặt thành StringDeserializer.class.

Bây giờ bạn sẽ sử dụng tin nhắn từ chủ đề của mình. Để đơn giản hóa mọi thứ, bạn sẽ in thông báo ra bảng điều khiển khi bạn sử dụng thông báo. Hãy xem cách bạn có thể đạt được điều này bằng mã bên dưới:

private boolean keepConsuming = true;

public void consume() {
    while (keepConsuming) {
        final ConsumerRecords<String, String> consumerRecords = this.consumer.poll(Duration.ofMillis(100L));
        if (consumerRecords != null && !consumerRecords.isEmpty()) {
            consumerRecords.iterator().forEachRemaining(consumerRecord -> {
                System.out.println(consumerRecord.value());
            });
        }
    }
}

Mã này sẽ tiếp tục thăm dò chủ đề. Khi bạn nhận được bất kỳ hồ sơ người tiêu dùng nào, thông báo sẽ được in. Kiểm tra hoạt động của người tiêu dùng bằng phương pháp chính. Bạn sẽ chạy một ứng dụng Java sẽ sử dụng chủ đề và in các thông báo. Dừng ứng dụng Java để chấm dứt người tiêu dùng.

package org.example.kafka;

import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.common.serialization.StringDeserializer;

import java.time.Duration;
import java.util.List;
import java.util.Properties;
import java.util.concurrent.atomic.AtomicBoolean;

public class SimpleConsumer {

    private static final String OFFSET_RESET = "earliest";

    private final KafkaConsumer<String, String> consumer;
    private boolean keepConsuming = true;

    public SimpleConsumer(String host, String port, String consumerGroupId, String topic) {
        String server = host + ":" + port;
        Properties properties = new Properties();
        properties.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, server);
        properties.setProperty(ConsumerConfig.GROUP_ID_CONFIG, consumerGroupId);
        properties.setProperty(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, OFFSET_RESET);
        properties.setProperty(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
        properties.setProperty(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
        this.consumer = new KafkaConsumer<>(properties);
        this.consumer.subscribe(List.of(topic));
    }

    public void consume() {
        while (keepConsuming) {
            final ConsumerRecords<String, String> consumerRecords = this.consumer.poll(Duration.ofMillis(100L));
            if (consumerRecords != null && !consumerRecords.isEmpty()) {
                consumerRecords.iterator().forEachRemaining(consumerRecord -> {
                    System.out.println(consumerRecord.value());
                });
            }
        }
    }

    public static void main(String[] args) {
        SimpleConsumer simpleConsumer = new SimpleConsumer("localhost", "9092", "transactions-consumer", "transactions");
        simpleConsumer.consume();
    }
}

Khi chạy mã, bạn sẽ nhận thấy rằng nó không chỉ sử dụng thông báo do nhà sản xuất Java của bạn tạo ra mà còn cả những thông báo bạn tạo ra thông qua nhà sản xuất bảng điều khiển của mình. Điều này là do thuộc tính AUTO_OFFSET_RESET_CONFIG được đặt sớm nhất.

Sau khi chạy công cụ SimpleConsumer, bạn có thể sử dụng trình tạo bảng điều khiển hoặc ứng dụng Java SimpleProducer để tạo thêm thông báo về chủ đề này. Bạn sẽ thấy chúng được sử dụng và in trên bảng điều khiển như thế nào.

Đáp ứng tất cả các nhu cầu về đường dẫn dữ liệu của bạn với Apache Kafka

Apache Kafka cho phép bạn xử lý tất cả các yêu cầu về đường dẫn dữ liệu của mình một cách dễ dàng. Bằng cách thiết lập Apache Kafka trên máy cục bộ của bạn, bạn có thể khám phá tất cả các tính năng khác nhau mà Kafka cung cấp. Ngoài ra, máy khách Java chính thức cho phép bạn viết, kết nối và giao tiếp với máy chủ Apache Kafka một cách hiệu quả.

Là một hệ thống phát trực tuyến linh hoạt, có thể mở rộng và hiệu quả cao, Apache Kafka thực sự có thể thay đổi trò chơi. Bạn có thể sử dụng nó để phát triển địa phương và thậm chí tích hợp nó vào hệ thống sản xuất. Cũng dễ dàng thiết lập cục bộ, việc thiết lập Apache Kafka cho các ứng dụng lớn hơn không phải là vấn đề lớn.

Nếu đang tìm kiếm nền tảng truyền dữ liệu, bạn có thể duyệt qua các nền tảng truyền dữ liệu tốt nhất để phân tích và xử lý theo thời gian thực.

Mục lục