Event Hub是否打算用于事件源/仅追加日志架构

时间:2018-08-23 03:42:34

标签: azure-eventhub transaction-log azure-eventhub-capture

事件中心不允许您存储超过7天(最多30天)的邮件。受这些限制,Azure建议用于PaaS Event Sourcing的体系结构是什么?如果是事件中心+快照,如果我们需要以某种方式重建该状态怎么办?另外,事件中心是KSQL / Spark Azure流分析的答案吗?

2 个答案:

答案 0 :(得分:2)

事件中心应该用于在数据存储实例之间移动事件时临时存储事件。您将不得不将它们加载到某个永久性存储中以无限期使用,例如Cosmos DB。

KSQL可以与Azure流分析媲美。 Spark是一个范围更广的产品,但是您可以使用Spark来处理事件中心数据。

P.S。我不是微软的官方发言人,所以这只是我的观点。

答案 1 :(得分:2)

好问题!

是的, EventHubs 用于nullEvent Sourcing模式。 EventHubs可用作流处理和分析引擎(例如 SPARK )的源/接收器,因此不能用作竞争对手。通常,EventHubs提供与Apache Kafka类似的功能。

是的,从推荐的日志Append-only log中重建事务绝对是推荐的方法!

Snapshotting设置为产品时,我们为EventHubs分配默认值的考虑因素是-

  • 大多数关键系统每隔几分钟就会创建快照。
  • 围绕此的大多数设计模式建议保留旧快照以进行重建

因此,很明显,我们不需要无限的日志,并且对于大多数用例来说,一天的时间间隔就足够了。因此,我们从默认的1天开始-直到7天。

如果您认为,您将遇到一种情况,您必须将时间倒退7天以上才能重建快照(例如:用于调试-通常不是99%的场景-但同意为此进行设计和容纳是非常明智的),建议的方法是将数据推送到档案存储中。

当我们的retentionPeriod表明我们的许多客户都有一个usage Metrics专门用于将数据推送到档案存储时-我们想立即启用此功能,然后开始提供- Event Hubs Capture feature

More on Event Hubs.