Bỏ qua đến nội dung
Quay lại

Thiết kế Bộ Lập lịch Công việc Phân tán (Distributed Job Scheduler)

Đã đăng:  at  10:00 SA

1. Bài toán

Cần xây dựng một bộ lập lịch đa tenant cho pipeline dữ liệu, tác vụ tính cước, thông báo và bảo trì. Người dùng có thể định nghĩa lịch cron, yêu cầu một run một lần hoặc ghép các task thành đồ thị có hướng không chu kỳ (DAG). Bộ lập lịch xác định khi nào một run đến hạn và điều phối việc dispatch đến các cụm worker. Nó không trực tiếp thực thi business logic.

Yêu cầu chức năng:

Yêu cầu phi chức năng:

Người dùng là các team nền tảng và service owner. Họ cần bản ghi bền vững về run dự kiến, từng lần dispatch, attempt đã thực thi và lý do run bị bỏ qua hoặc trì hoãn.

2. Ước tính quy mô

Giả định có 2.000 tenant và 10.000 schedule đang hoạt động. Đây là quy mô khởi đầu có chủ ý ở mức vừa phải: đủ tạo áp lực vận hành nhưng vẫn cho phép database chính làm nguồn chuẩn cho trạng thái scheduler. Giả định mỗi tenant trung bình có 25 thao tác API mỗi ngày, gồm sửa schedule, truy vấn run và trigger thủ công.


Chia sẻ bài viết này trên:

Bài trước
Thiết kế service dùng LLM để tóm tắt distributed trace
Bài tiếp theo
Thiết kế Object Store đa tenant