Мне нужно реализовать микросервис, который загружает тонну данных в память при запуске и делает эти данные доступными через HTTP GET.Я рассматривал fs2 как вариант, чтобы сделать данные доступными для веб-слоя через fs2.Queue
.
Меня беспокоит то, что если я использую очередь synchronous
из fs2
, моя производительность обслуживания данных может ухудшиться из-за характера блокировки очереди synchronous
(при операции enqueue
).
Это действительная проблема?Кроме того, какие Queue
абстракции (в fs2) являются потокобезопасными?то есть: можно ли передать какую-либо очередь нескольким потокам, и могут ли они безопасно вывести элементы из очереди, если только один из них не выберет один и тот же элемент из очереди?
РЕДАКТИРОВАТЬ: вариант использования: 10Mil recordsобслуживается потоком -> многие рабочие (потоки) выбирают работу из потока через конечную точку HTTP (GET)