Skip to content

Альтернативное использование очередей с порядком доставки и чтения как в kafka #7

@PavelAgarkov

Description

@PavelAgarkov

Можно подумать про партиции. В целом структура это топик. У топика партиции. Каждая очередь это партиция для одного воркера. Если нужен порядок в очереди. У каждой очереди свой воркер. Придумал такую фичу. Это прям отдельный сценарий, не связанный с тем который уже реализован. Точнее может быть постоен вокруг существующего и возможно не нужно дописывать что-то глобально. Но определив альтернативный сценарий мы явно решим вопрос доставки в памяти приложения по типу at least once для данных. По сути drain уже написа, воркер тоже, конверт со штампами тоже. По сути просто массив таких очередей, которые уже есть RateEnvelopeQueue. Сделать так, чтобы общий интерфейс был таким же QueuePool, сделать маршрутизатор до нужной очереди (какое-то замыкание настраиваемое).

По сути массив очередей. Шардированная очередь получается. Возможно можно просто переиспользовать существующий механизм почти полностью в том числе и штампы для шардированной очереди(партиций топика) с личным воркером.

Необходимо полностью доделать функционал для одного экземпляра очереди, после чего переходить к текущей реализации.

Metadata

Metadata

Labels

enhancementNew feature or requestv2.0.0For stable release v2.0.0

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions