0
0
Lập trình
Admin Team
Admin Teamtechmely

Hướng dẫn sử dụng Kafka: Tạo Topic và Quản lý Tin nhắn (Phần 3)

Đăng vào 3 ngày trước

• 3 phút đọc

Kafka - Tạo Topic và Quản lý Tin nhắn (Phần 3)

Chào các bạn, Toni Dev đây! 😁 Trong Phần 2, chúng ta đã cùng nhau khám phá về các khái niệm như Partition, Offset, và Consumer Group trong series Kafka. Hôm nay, chúng ta sẽ tiếp tục với Phần 3 để thực hành những kiến thức đã học.

1. Cài đặt Kafka

  • Đầu tiên, bạn hãy tải file Kafka từ đường link sau:

  • Giải nén file và cd (chuyển thư mục) vào thư mục bạn vừa giải nén bằng command line:

    bash Copy
    tar -xzf kafka_2.13-3.6.1.tgz  
    cd kafka_2.13-3.6.1
  • Bây giờ, bạn có thể mở thư mục kafka_2.13-3.6.1 bằng VSCode để xem nội dung bên trong. Thư mục này chứa rất nhiều file bash script và một số file quan trọng như sau:

    • kafka-server-start.sh
    • kafka-server-stop.sh
    • kafka-topics.sh
    • zookeeper-server-start.sh
    • zookeeper-server-stop.sh

Bạn có thể cập nhật các file trên hoặc các file trong thư mục config nếu muốn, nhưng hãy giữ nguyên cài đặt hiện tại trong lúc thực hiện.

2. Khởi động môi trường Kafka và Zookeeper

  • Trước tiên, bạn cần cài đặt Java 8+. Bạn có thể sử dụng brew (dành cho mac), apt-get (dành cho Linux) hoặc tải trực tiếp file về để cài đặt.

  • Khởi động dịch vụ Zookeeper:

    bash Copy
    bin/zookeeper-server-start.sh config/zookeeper.properties
  • Khởi động dịch vụ Broker:

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

Trong suốt quá trình thực hành, hãy giữ nguyên trạng thái của 2 dịch vụ này nhé, nếu không bạn sẽ không có Zookeeper và Broker để sử dụng đâu. :v

3. Tạo và mô tả Topic

  • Tạo một Topic:

    bash Copy
    bin/kafka-topics.sh --create --topic my-topic --bootstrap-server localhost:9092
  • Mô tả thông tin của Topic:

    bash Copy
    bin/kafka-topics.sh --describe --topic my-topic --bootstrap-server localhost:9092

Lưu ý: my-topic ở đây là tên Topic, bạn có thể đặt tên tùy ý nhưng không được trùng nhau, nếu không sẽ báo lỗi ngay. 🤣 Sau khi mô tả một Topic, bạn có thể xem một số thông tin như (Partition: 0, Leader: 0, Replicas: 0, ...). Những thông tin này có thể hơi phức tạp, nếu có thời gian, chúng ta sẽ tìm hiểu kỹ hơn sau.

4. Đăng tin nhắn bằng Producer

  • Để Producer gửi tin nhắn tới Topic có tên là my-topic:

    bash Copy
    bin/kafka-console-producer.sh --topic my-topic --bootstrap-server localhost:9092
  • Sau khi chạy lệnh, bạn hãy nhập bất kỳ tin nhắn nào để thử nghiệm. Nhớ Ctrl + C để thoát ra nhé! 😅

5. Nhận tin nhắn bằng Consumer

  • Để Consumer nhận tin nhắn từ Topic có tên là my-topic:

    bash Copy
    bin/kafka-console-consumer.sh --topic my-topic --from-beginning --bootstrap-server localhost:9092
  • Giờ đây, ở vị trí Consumer, bạn đã có thể đọc toàn bộ tin nhắn từ my-topic. 👌

6. Tóm tắt

Trong bài viết này, chúng ta đã thực hành thiết lập Kafka, khởi động Zookeeper và Broker, tạo Topic, và quản lý việc gửi và nhận tin nhắn qua Terminal. Ở Phần 4, chúng ta sẽ tìm hiểu cách tạo Consumer Groupđọc tin nhắn từ Partition, Offset cụ thể.

Cảm ơn các bạn đã theo dõi bài viết! Nếu có bất kỳ câu hỏi hay ý kiến nào, hãy để lại comment dưới đây để chúng ta cùng nhau thảo luận và cải thiện nhé! 😁


Tài liệu tham khảo:

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào