Очередь задержки На основе реализации Redis
Сценарий применения
- Неоплаченные заказы регулярно отменяются
- Определение статуса возврата третьей стороной заказов на возврат средств
- Обратный вызов для Оплаты баланса (Уведомление+n)
- Автоматическая оценка заказов через 15 дней
- ……
Разработка и внедрение
Традиционная реализация
- Использование redis функции для оптимизации традиционного подметания столов
цель проектирования
- Надежность: Отложенная очередь гарантирует потребление один раз
Структура системы и точки реализации
задание(json{uuid,job_id,job_name,job_data})
- Закрытие неоплаченных заказов
- Определение статуса возврата третьей стороной
- Обратный вызов Для Оплаты Баланса
Очередь задержки (redis zset)
- Структура: оценка: метка времени истечения срока действия; значение: job_id
Опрос задержанных очередей, которые будут распределены по различным очередям сообщений
- значение(ключ, 0,now_time,,)
- Если значение равно нулю, режим сна (1)
Если значение не пустое, выньте значение, результат= zrem (ключ, значение)
- Если результат верен, то очереди, связанные с нажатием
Очередь сообщений о выполнении (список reid есть)
- Закрытие неоплаченных заказов
- Определение статуса возврата третьей стороной
- Обратный вызов Для Оплаты Баланса