数据流:到Cosmos db的Azure事件中心VS到Azure Event Hub的Cosmos db-更好的选择?

时间:2019-09-03 00:13:28

标签: azure azure-cosmosdb azure-eventhub azure-stream-analytics

我想监视一些来自应用程序的事件。

一种选择是将数据发送到Azure Event Hub并使用流分析进行一些后处理,然后将数据输入到cosmos db中。

另一种选择是从应用程序存储到cosmos db,并运行定期的Azure函数进行处理并将其存储回去。

正确的方法是什么?有更好的方法吗?

3 个答案:

答案 0 :(得分:0)

最好的架构方法是将事件中心带到Cosmos DB。我已经使用Application -> EventHub -> ChangeFeed Azure Function -> Cosmosdb

完成了相同的实现

您可以阅读有关Here的信息。

答案 1 :(得分:0)

在这种情况下,Azure Cosmos DB开箱即用提供ChangeFeed。它可作为Cosmos DB更改的触发器。

答案 2 :(得分:0)

这取决于您要对所接收事件进行的处理类型。如果一次处理是事件,则具有CosmosDB changefeed处理器的简单Azure函数可能就足够了。如果您想执行windowingevent order based computation之类的有状态处理,则Azure流分析会更好。 Stream Analytics还提供与PowerBI仪表板的本机集成。同一作业可以将数据发送到CosmosDB和PowerBI。如果要使用Azure流分析,则必须使用EventHub进行事件提取。使用EventHub进行接收还具有其他好处,例如能够archive events进行Blob存储。