Tôi đang tìm kiếm thay thế "tại" có thể mở rộng, với tính khả dụng cao. Nó phải hỗ trợ thêm và xóa các công việc trong thời gian chạy.Tìm kiếm triển khai "tại" có thể mở rộng
Một số nền: Tôi có một ứng dụng mà tôi kích hoạt hàng triệu sự kiện, mỗi sự kiện chỉ xảy ra một lần. Tôi không cần cron như cơ chế (chủ nhật đầu tiên của tháng, vv), chỉ đơn giản là ngày tháng, thời gian và bối cảnh.
Hiện tại tôi đang sử dụng Quartz scheduler và mặc dù đây là một dự án rất hay nhưng khó có thể xử lý số lượng sự kiện mà chúng tôi ném vào, ngay cả sau nhiều lần chỉnh sửa (sharding, tăng khoảng thời gian bỏ phiếu, v.v.) do khóa cơ bản nó thực hiện trên cơ sở dữ liệu gạch chân. Ngoài ra, nó là một chút overkill cho chúng tôi, về cơ bản chúng tôi có hàng triệu lần kích hoạt một lần, và số lượng tương đối nhỏ của công việc.
Tôi đánh giá cao bất cứ đề nghị
gì là yêu cầu của bạn xung quanh thất bại? Ví dụ: nếu máy bị hỏng, bạn có muốn các sự kiện "bị nhỡ" kích hoạt khi có sự thay thế không? –
Có, tương tự như Quartz. Ngoài ra, tôi chạy Quartz trong một cụm, vì vậy luôn luôn có một máy ấm chờ đợi (trong Quartz tất cả các nút cạnh tranh mỗi khi họ cần phải thăm dò ý kiến của DB cho công việc) –
Tôi đã tự hỏi làm thế nào đơn giản chúng tôi có thể làm cho mọi thứ * mà không có * Quartz. Nếu mọi công việc phải được thừa nhận mặc dù, điều đó làm cho nó phức tạp hơn. Hình phạt là gì nếu một công việc chạy hai lần? (Ví dụ, bạn có thể thừa nhận tất cả các công việc được thực hiện trong phút cuối, mỗi phút một lần?) –