212 похожих чатов

Есть 1 очередь(aws simple) для всех клиентов, есть пул воркеров

каждый на своем инстансе.
1 клиент может в какой то момент времени накидать тяжелых задач в очередь,
воркеры будут заняты задачами 1 го клиента например 30 мин, в это же время 2й, 3й клиент закинут свои маленькие задачи в очередь, но им придется ждать завершения обработки 1го клиента.
Заставлять ждать других клиентов нельзя.
Как бы вы решили такую задачу? Как вообще принято их решать?
Пока решил ручным решением, что задачи клиентов закидываются в очередь порционно, а не все сразу, что позволит другим клиентам втиснуться в промежутки. Размер порции лимитировано зависит от количества всех задач в обработке и максимум зависит от количества воркеров.

8 ответов

5 просмотров

Мне кажется, это такая же задача, как например, на балансере выбор сервера

Vlad-Petrov Автор вопроса
John Doe
Мне кажется, это такая же задача, как например, на...

У меня воркер может взять только 1 задачу из очереди, когда закончит - возьмет другую. Баланса по ресурсам не нужно пока.

Сделать приоритетные очереди по размеру задач.

Мб это можно как-то асинхронить? Бить задачи на примерно одинаковые по времени выполнения части и асинхронно обрабатывать

Vlad-Petrov Автор вопроса
Alexander
Мб это можно как-то асинхронить? Бить задачи на пр...

Так это все в паралель на разных инстансах.

не вникая - плюс-минус приемлимое решение. Возможно я бы имел некий механизм посредине, что считал бы "бюджет" задач на единицу времени для тенанта и решал пушить ли задачу непосредственно в работу, или придержать ещё немного. Также при сильном росте можно пробовать считать объемы задач по большим клиентам и расселять их равномерно с маленькими по разным очередям. Ключевые слова, что могут помочь найти в интернетах опыт других: - multi tenancy - queue - task balancer Одна из ссылок (не вчитывался): https://medium.com/thron-tech/multi-tenancy-and-fairness-in-the-context-of-microservices-sharded-queues-e32ee89723fc UPD: вот сам амазон ещё написал что-то релевантное https://aws.amazon.com/ru/blogs/apn/using-amazon-sqs-in-a-multi-tenant-saas-solution/

Vlad-Petrov Автор вопроса
Andrii Dembitskyi
не вникая - плюс-минус приемлимое решение. Возмож...

Очень полезно. Нужно бы раньше ознакомиться. Понял, что моя проблема называется “noisy neighbor”

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Реально в одиночку написать игровой движок на Си?
ㅤ (SVO)
11
Всем привет, товарищи! Можете меня поздравить, получил "отлично" за дисциплину "языки программирования низкого уровня". Честно говоря, не очень хочу, чтобы основы асма, которы...
Ыиу
1
Карта сайта