Здесь я не могу найти однозначного ответа. Мой сервис IoT должен терпеть ненадежные соединения. В настоящее время я сам управляю локальным кешем и повторяю передачу облачных BLOB-объектов так часто, как это необходимо. Могу ли я заменить его службой Azure EventHub? т. е. будет ли клиент EventHub (в IoT-Core) буферизовать события, пока соединение не будет доступно? Если да, то где информация об этом?
Azure EventHub: возможна автономная буферизация/постановка в очередь событий?
Ответы (1)
Согласно: https://azure.microsoft.com/en-us/documentation/articles/event-hubs-programming-guide/
Вы отвечаете за отправку и кэширование:
Отправляйте асинхронно и отправляйте в масштабе
Вы также можете асинхронно отправлять события в концентратор событий. Асинхронная отправка может увеличить скорость, с которой клиент может отправлять события. Оба метода Send и SendBatch доступны в асинхронных версиях, которые возвращают объект Task. Хотя этот метод может увеличить пропускную способность, он также может привести к тому, что клиент продолжит отправлять события, даже если он регулируется службой концентраторов событий, и может привести к тому, что клиент столкнется со сбоями или потеряет сообщения, если не будет правильно реализовано. Кроме того, вы можете использовать свойство RetryPolicy на клиенте для управления параметрами повторных попыток клиента.