Время тратится на синхронный ACK'инг сообщений в RabbitMQ (MessageAcknowledgingSourceBase#notifyCheckpointComplete
> MultipleIdsMessageAcknowledgingSourceBase#acknowledgeIDs
> RMQSource#acknowledgeSessionIDs
). Вероятно, это можно сделать асинхронно, как это делает коннектор Kafka.
Поскольку интервал между контрольными точками составляет 3 минуты, а я ввожу 200 эв / с, это означает, что каждая контрольная точка вызывает подтверждение 36k сообщений (200 * 60 * 3), что занимает около 500 мс.
Использование меньшего интервала может помочь иметь более предсказуемую задержку за счет более высокой средней задержки.
Well, you can implement IOrderedEnumerable
yourself if you want too... it's not hugely hard, depending on what you need to do. The easiest option is just to call OrderBy
/OrderByDescending
though :)
Why are you interested?