Re[2]: Отложенное выполнение очереди в Azure Service Bus
От: Doc Россия http://andrey.moveax.ru
Дата: 26.08.18 07:12
Оценка:
Здравствуйте, Sinix, Вы писали:

S>НЯП, при peek-and-loсk abandon не кладёт сообщение в конец очереди. Снимается блокировка и увеличивается счётчик delivery count. Т.е. должно работать, но при большом количестве сбоев сообщения уходят в deadletter.

S>Если сообщения обрабатываются не по порядку, то это может быть связано с prefetch.

Точно. Поглядел — есть prefetch у самой библиотеки SB. Видимо по дефолту стоит 10. Можно отключить, но все равно в сообщение задержку добавить не получится.

S>Стратегия обработки зависит от требуемой пропускной способности. Сообщение в секунду и сотня-тысяча в секунду несколько разные ограничения накладывают


Наверное стоит ориентироваться на 100 в сек для текущих условий (с перспективой роста).

S>Для первого случая я бы сделал свой message loop, в нём используем long polling для ожидания сообщения, prefetch не используем. При захвате сообщения не забываем про lock renew (обычно таймером + cancellation token делается). Троттлинг к такому велосипеду прикрутить как нефигделать.


Видимо да, наверное придется сочинять свой вариант ридера.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.