Поток данных: от концентраторов событий Azure к базе данных Cosmos VS от базы данных Cosmos к концентратору событий Azure - лучший вариант?

Я хочу отслеживать некоторые события, исходящие из моего приложения.

Один из вариантов - отправить данные в Azure Event Hub и использовать потоковую аналитику для выполнения некоторой постобработки и ввода данных в базу данных cosmos.

Другой вариант - сохранить в cosmos db из приложения и периодически запускать лазерную функцию для обработки и сохранения ее обратно.

Как правильно это делать? Есть ли способ лучше?


person Pranav Raj    schedule 03.09.2019    source источник


Ответы (3)


Наилучший архитектурный способ - иметь концентраторы событий для Cosmos DB. Я сделал те же реализации, используя Application -> EventHub -> ChangeFeed Azure Function -> Cosmosdb

Вы можете прочитать о Here.

person Sajeetharan    schedule 03.09.2019

ChangeFeed предлагается в Azure Cosmos DB из коробки для этого случая. Он работает как триггер при изменении Cosmos DB.

person zile    schedule 03.09.2019
comment
это ответ, упомянутый ниже. что отличается? - person Sajeetharan; 03.09.2019
comment
ваш ответ непонятен. Концентратор событий здесь не требуется, changeFeed сам запускает функцию Azure. - person zile; 03.09.2019

Это зависит от типа обработки, которую вы хотите выполнять с загруженными событиями. Если это обработка события за раз, может быть достаточно простой функции Azure с обработчиком канала изменений CosmosDB. Если вы хотите выполнять обработку с отслеживанием состояния, например оконное управление, или на основе порядка событий вычисление, лучше использовать azure Stream Analytics. Stream Analytics также обеспечивает встроенную интеграцию с панелями управления PowerBI. Одно и то же задание может отправлять данные как в CosmosDB, так и в PowerBI. Если вы собираетесь использовать Azure Stream Analytics, вам придется использовать EventHub для приема событий. Использование EventHub для приема также имеет другие преимущества, такие как возможность заархивируйте события в хранилище BLOB-объектов.

person Vignesh Chandramohan    schedule 03.09.2019