事件中心不允许您存储超过7天(最多30天)的邮件。受这些限制,Azure建议用于PaaS Event Sourcing的体系结构是什么?如果是事件中心+快照,如果我们需要以某种方式重建该状态怎么办?另外,事件中心是KSQL / Spark Azure流分析的答案吗?
答案 0 :(得分:2)
事件中心应该用于在数据存储实例之间移动事件时临时存储事件。您将不得不将它们加载到某个永久性存储中以无限期使用,例如Cosmos DB。
KSQL可以与Azure流分析媲美。 Spark是一个范围更广的产品,但是您可以使用Spark来处理事件中心数据。
P.S。我不是微软的官方发言人,所以这只是我的观点。
答案 1 :(得分:2)
好问题!
是的, EventHubs 用于null
或Event Sourcing
模式。 EventHubs可用作流处理和分析引擎(例如 SPARK )的源/接收器,因此不能用作竞争对手。通常,EventHubs提供与Apache Kafka类似的功能。
是的,从推荐的日志Append-only log
中重建事务绝对是推荐的方法!
将Snapshotting
设置为产品时,我们为EventHubs
分配默认值的考虑因素是-
因此,很明显,我们不需要无限的日志,并且对于大多数用例来说,一天的时间间隔就足够了。因此,我们从默认的1天开始-直到7天。
如果您认为,您将遇到一种情况,您必须将时间倒退7天以上才能重建快照(例如:用于调试-通常不是99%的场景-但同意为此进行设计和容纳是非常明智的),建议的方法是将数据推送到档案存储中。
当我们的retentionPeriod
表明我们的许多客户都有一个usage Metrics
专门用于将数据推送到档案存储时-我们想立即启用此功能,然后开始提供- Event Hubs Capture feature。