1. Mở đầu
Mỗi partition dữ liệu được chia thành các segment, và việc xử lý, duy trì những file này là thiết yếu để đảm bảo hoạt động trơn tru của Kafka.
2. Quản lí file
Retention là một khái niệm quan trọng trong Kafka — Kafka không lưu trữ dữ liệu vĩnh viễn, cũng như không chờ tất cả các consumer đọc một message trước khi xóa nó. Thay vào đó, Kafka administrator sẽ cấu hình thời gian lưu trữ cho từng topic — hoặc là khoảng thời gian để lưu trữ các message trước khi xóa chúng, hoặc là hoặc là dung lượng dữ liệu tối đa cần lưu trữ trước khi xóa các message cũ.
Vì việc tìm kiếm các message cần xóa trong một tệp lớn và sau đó xóa một phần của tệp vừa tốn thời gian vừa dễ gây lỗi, chúng ta thay vào đó chia mỗi partition thành các segment. Mặc định, mỗi segment chứa tối đa 1 GB dữ liệu hoặc một tuần dữ liệu, tùy theo cái nào nhỏ hơn. Khi một Kafka broker đang ghi vào một partition, nếu đạt đến giới hạn của segment, nó sẽ đóng tệp đó và bắt đầu một tệp mới.
Segment mà chúng ta đang ghi dữ liệu vào gọi là active segment. Active segment không bao giờ bị xóa, vì vậy nếu chúng ta cài đặt thời gian lưu trữ log chỉ một ngày, nhưng mỗi segment chứa dữ liệu trong năm ngày, thực tế sẽ giữ dữ liệu trong năm ngày vì chúng ta không thể xóa dữ liệu trước khi segment được đóng lại. Nếu bạn chọn lưu dữ liệu trong một tuần và tạo một segment mới mỗi ngày, thì mỗi ngày sẽ tạo một segment mới và xóa segment cũ nhất—do đó, partition thường sẽ có bảy segment.
3. Thông tin kết nối
Nếu anh em muốn trao đổi thêm về bài viết, hãy kết nối với mình qua LinkedIn và Facebook:
- LinkedIn: https://www.linkedin.com/in/nguyentrungnam/
- Facebook: https://www.facebook.com/trungnam.nguyen.395/
Rất mong được kết nối và cùng thảo luận!