-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Можно подумать про партиции. В целом структура это топик. У топика партиции. Каждая очередь это партиция для одного воркера. Если нужен порядок в очереди. У каждой очереди свой воркер. Придумал такую фичу. Это прям отдельный сценарий, не связанный с тем который уже реализован. Точнее может быть постоен вокруг существующего и возможно не нужно дописывать что-то глобально. Но определив альтернативный сценарий мы явно решим вопрос доставки в памяти приложения по типу at least once для данных. По сути drain уже написа, воркер тоже, конверт со штампами тоже. По сути просто массив таких очередей, которые уже есть RateEnvelopeQueue. Сделать так, чтобы общий интерфейс был таким же QueuePool, сделать маршрутизатор до нужной очереди (какое-то замыкание настраиваемое).
По сути массив очередей. Шардированная очередь получается. Возможно можно просто переиспользовать существующий механизм почти полностью в том числе и штампы для шардированной очереди(партиций топика) с личным воркером.
Необходимо полностью доделать функционал для одного экземпляра очереди, после чего переходить к текущей реализации.