У меня есть X рабочих ролей, которые будут обрабатывать очереди Azure с использованием нескольких потоков. Данные, которые текут в этих очередях, довольно простые (для этого Client_ID у нас есть действие A, B или C, одно действие на транзакцию), но их будет много, более 5000 транзакций в секунду. Теперь мне нужно агрегировать их в формате, который показывает Client_ID, 43 транзакции типа A, 20 для B и 11 для C. По сути, суммируйте их. Но GetMessages в очереди может получить только 32 сообщения из очереди.
Мой вопрос: должен ли я продолжать извлекать 32 в то время, пока я не скажу 1000, а затем просмотреть их и суммировать? Или хранить итоги в списке, очереди или кеше?
Что бы вы порекомендовали для наиболее оптимального механизма агрегатора для моего сценария, зная, что может быть 10 рабочих ролей с 5 потоками, постоянно получающими сообщения из этих очередей?