В предметной области есть пользователей, компании, услуги которые предлагают компании пользователям, которые пользователь может приобретать.
Подскажите пожалуйста, каким образом можно организовать следующий сценарий, в идеале - со способностью к горизонтальному масштабированию?
1. При приобретении услуги у компании формируется список компаний, предлагающих схожие по неким заранее определенным параметрам услуги, изначальная компания-продавец находится на вершине списка
2. В случае, если компания в течении определенного срока не обработала заявку от пользователя, заявка передается на рассмотрение следующей в списке (появляется в списке ожидающих рассмотрения заявок в ЛК компании), и так до тех пор пока не найдется компания, согласная удовлетворить заявку.
Иными словами, как можно хорошо хранить списки с таймерами?