Apache Kafka - Kiến trúc cụm

Hãy xem hình minh họa sau đây. Nó cho thấy sơ đồ cụm của Kafka.

Bảng sau đây mô tả từng thành phần được hiển thị trong sơ đồ trên.

S. không Các thành phần và mô tả
1

Broker

Cụm Kafka thường bao gồm nhiều nhà môi giới để duy trì cân bằng tải. Các nhà môi giới Kafka không có quốc tịch, vì vậy họ sử dụng ZooKeeper để duy trì trạng thái cụm của họ. Một phiên bản của nhà môi giới Kafka có thể xử lý hàng trăm nghìn lượt đọc và ghi mỗi giây và mỗi bro-ker có thể xử lý TB thư mà không ảnh hưởng đến hiệu suất. Cuộc bầu cử lãnh đạo nhà môi giới Kafka có thể được thực hiện bởi ZooKeeper.

2

ZooKeeper

ZooKeeper được sử dụng để quản lý và điều phối nhà môi giới Kafka. Dịch vụ ZooKeeper chủ yếu được sử dụng để thông báo cho nhà sản xuất và người tiêu dùng về sự hiện diện của bất kỳ nhà môi giới mới nào trong hệ thống Kafka hoặc sự cố của nhà môi giới trong hệ thống Kafka. Theo thông báo mà Zookeeper nhận được liên quan đến sự hiện diện hay thất bại của nhà môi giới thì người chuyên nghiệp và người tiêu dùng sẽ đưa ra quyết định và bắt đầu phối hợp nhiệm vụ của họ với một số nhà môi giới khác.

3

Producers

Nhà sản xuất đẩy dữ liệu đến các nhà môi giới. Khi nhà môi giới mới được bắt đầu, tất cả các nhà sản xuất tìm kiếm nó và tự động gửi tin nhắn đến nhà môi giới mới đó. Nhà sản xuất Kafka không chờ đợi xác nhận từ nhà môi giới và gửi tin nhắn nhanh nhất có thể xử lý.

4

Consumers

Vì các nhà môi giới Kafka là không quốc tịch, có nghĩa là người tiêu dùng phải duy trì số lượng tin nhắn đã được sử dụng bằng cách sử dụng bù phân vùng. Nếu người tiêu dùng xác nhận một phần bù tin nhắn cụ thể, điều đó có nghĩa là người tiêu dùng đã sử dụng tất cả các tin nhắn trước đó. Người tiêu dùng đưa ra một yêu cầu kéo không đồng bộ tới người môi giới để có một bộ đệm byte sẵn sàng để tiêu thụ. Người tiêu dùng có thể tua lại hoặc bỏ qua đến bất kỳ điểm nào trong phân vùng chỉ bằng cách cung cấp giá trị bù đắp. Giá trị bù đắp của người tiêu dùng được ZooKeeper thông báo.