DevOps AI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
No Result
View All Result
Home DevOps & Cloud

Khái niệm và thực hành Kafka – Zookeeper

Hiếu Tạ by Hiếu Tạ
30 Tháng 4, 2025
in DevOps & Cloud
0
Khái niệm và thực hành Kafka – Zookeeper
Share on FacebookShare on Twitter

Cơ chế

Cơ chế nhận tin nhắn từ Kafka và Zookeeper hoạt động như sau:

  1. Kafka:
    • Kafka sử dụng Zookeeper để theo dõi metadata của các topic, phân vùng và broker trong cụm Kafka.
    • Mỗi khi một producer gửi một tin nhắn đến Kafka, Kafka sẽ lưu trữ tin nhắn đó trong một hoặc nhiều phân vùng (topic partitions).
    • Consumer muốn đọc tin nhắn từ Kafka sẽ kết nối đến một broker trong cụm Kafka. Zookeeper sẽ giúp consumer tìm ra broker mà nó cần kết nối.
    • Consumer sau đó yêu cầu broker gửi tin nhắn từ một phân vùng cụ thể. Broker sẽ cung cấp tin nhắn từ phân vùng đó cho consumer.
  2. Zookeeper:
    • Zookeeper giữ theo dõi trạng thái của các broker trong cụm Kafka. Nó cung cấp thông tin về broker nào đang hoạt động và broker nào không hoạt động.
    • Zookeeper cũng giúp Kafka duy trì metadata của các topic, phân vùng và consumer group.
    • Mỗi khi có thay đổi về metadata hoặc trạng thái của broker, Kafka sẽ cập nhật thông tin này lên Zookeeper.

Kết hợp nhau, Kafka và Zookeeper giúp tạo ra một hệ thống phân tán mạnh mẽ cho việc lưu trữ và truy xuất dữ liệu trong thời gian thực. Zookeeper đảm bảo tính nhất quán và duy trì metadata, trong khi Kafka quản lý việc lưu trữ và truy xuất tin nhắn từ các topic.

Hãy tưởng tượng Kafka như một hệ thống email nội bộ lớn. Bạn có một cụm email với nhiều hòm thư (topic) và mỗi hòm thư này có nhiều email (tin nhắn). Mỗi email được đánh số thứ tự.

Zookeeper sẽ đóng vai trò như một bảng điều khiển quản lý hệ thống email. Nó sẽ:

Related Post

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

7 Tháng 6, 2025

Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!

29 Tháng 4, 2025

Đổi MTU cho Calico trong Kubernetes

30 Tháng 4, 2025
  1. Theo dõi danh sách các hòm thư (topic): Zookeeper sẽ ghi lại danh sách tất cả các hòm thư (topic) hiện có. Nó cũng lưu trữ thông tin về tất cả các email (tin nhắn) trong từng hòm thư.
  2. Quản lý tình trạng của các email (tin nhắn): Zookeeper sẽ ghi lại trạng thái của từng email (đã đọc, chưa đọc) và ai đã đọc email đó.
  3. Theo dõi danh sách các người dùng (consumer): Zookeeper cũng ghi lại danh sách tất cả người dùng (consumer) đang tham gia vào hệ thống.

Khi bạn muốn gửi hoặc nhận một email, bạn sẽ đến bảng điều khiển (Zookeeper) để xem danh sách các hòm thư và trạng thái của các email. Sau đó, bạn sẽ truy cập vào hòm thư tương ứng và đọc hoặc gửi email.

Khi có thay đổi trong hệ thống (như thêm hòm thư mới hoặc ai đó đọc một email), bảng điều khiển (Zookeeper) sẽ cập nhật thông tin này để người dùng (consumer) biết được.

Ở đây, Kafka đóng vai trò như nền tảng hỗ trợ việc gửi và nhận tin nhắn giữa các hòm thư, trong khi Zookeeper là trung tâm quản lý theo dõi trạng thái của hệ thống.

Cài đặt Zookper

https://zookeeper.apache.org/releases.html

tar -xvf zookeeper-3.3.6.tar.gz

Đổi config nơi lưu trữ snapshot theo cấu hình server của bạn

Start Zookeeper

./zkServer.sh start

Test Zookeeper

./zkCli.sh -server 127.0.0.1

Lưu ý port mặc định của Zookeeper là running 2181

Cài đặt Kafka

https://kafka.apache.org/downloads

tar -xvf kafka_2.10-0.10.1.0.tgz

Để đổi java version lên 1.8 cho kafka, bạn chỉ cần thêm dòng dưới đây vào file kafka-server-start.sh

export JAVA_HOME=/u01/kafka/jdk1.8.0_252
vi kafka-server-start.sh

Khởi tạo Kafka

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

port running on 9092

Kiểm thử

  1. Tạo chủ đề mới

Ở đây mình tạo 1 topic tên là topic_test

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topic_test
  1. Xem chủ đề mới tạo
bin/kafka-topics.sh --list --zookeeper localhost:2181
  1. Sử dụng chủ đề vừa tạo để tạo tin nhắn mới
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic topic_test

Sau đó bạn có thể nhập bất kỳ như

hello kafka!!!

  1. Mở một terminal khác và thực hiện lệnh bin sau
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic topic_test --from-beginning

Bạn sẽ thấy thông tin đã nhập, cho đến nay tất cả đã hoàn thành. Cách sử dụng của client sẽ có ở bài viết tiếp theo

Note: Để lấy message từ kafka, trong đó –bootstrap-server là thông tin của kafka

./kafka-console-consumer.sh --topic topic_test --from-beginning --bootstrap-server localhost:9092

Hoặc có thể edit trong file config/consumer.properties

./kafka-console-consumer.sh --topic event_online --from-beginning --consumer.config /u01/kafka/kafka_2.10-0.10.1.0/config/consumer.properties

Chúc các bạn thành công!!

Tags: configurationdevopsjavazookeeper
Hiếu Tạ

Hiếu Tạ

Graduated as a Software Engineer. I have more than 3-year experience in developing software and DevOps, used to many services of AWS, and Azure, K8S, and using Windows or Linux on-premies proficiently to set up servers, proxy, build and deploy multiple programming languages (Java, GO, NET,...)..... Experience with CMS such SiteCore, ElasticPath, AEM... Implement CICD via Jenkins scripting, infrastructure as code via Terraform, and AWS Cloud Formation.

Related Posts

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
AI & Automation

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

by devopsify
16 Tháng 6, 2025
DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên
Bảo mật

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

by devopsify
7 Tháng 6, 2025
Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!
Tin tức

Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!

by devopsify
29 Tháng 4, 2025
Next Post
Kong Gateway – Triển khai route cho service

Kong Gateway - Triển khai route cho service

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Recommended

Các website demo hay được sử dụng cho thực hành Automation Test

Các website demo hay được sử dụng cho thực hành Automation Test

11 Tháng 6, 2025
Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

1 Tháng 5, 2025
Cài đặt Maven trên Windows

Cài đặt Maven trên Windows

11 Tháng 6, 2025
Cài đặt Grafana – Loki – Promtail monitoring log Container

Cài đặt Grafana – Loki – Promtail monitoring log Container

1 Tháng 5, 2025
Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

16 Tháng 6, 2025
DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

13 Tháng 6, 2025
GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

11 Tháng 6, 2025
DevOpsify

Cộng đồng DevOps Việt Nam chia sẽ kiến thức giúp tăng tốc quá trình phát triển ứng dụng và tự động hóa trong lĩnh vực Cloud DevOps & AI.

Bài viết mới

  • Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
  • MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật
  • DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

Categories

  • AI & Automation
  • Bảo mật
  • Chưa phân loại
  • DevOps & Cloud
  • Tin tức
No Result
View All Result
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud

© 2025 DevOpsify