2012-01-16 27 views
0

我在考虑问题标题:如果我必须在分布式架构中查询聚合,其中分布式事件存储最终可以等待最后一个事件分发。我怎么能知道我通过阅读模型阅读的聚合是否不被网络中另一个服务器中的更新代替?在分布式架构中创建快照

我有一个http服务器接收事件要保存在商店。实际上存储不存在,但我希望尽快实施。 事件认为以json格式序列化的巨大聚合需要4MB

另一个子问题是您推荐什么存储快照?

编辑

如果问题不是写得好,或者如果我选择了错误的标签,我不明白...

回答

0

知道什么时候“最后”事件分布式的能力商店处理取决于两件事情:

  1. 你可以定义“最后”?
  2. 分布式存储引擎是否向您公开?

The CAP theorem对于您在分布式数据存储中遇到的问题有很好的参考价值;一般来说,除非你放弃可用性,否则你将无法获得所需的属性来获得你想要的。另一方面,如果你可以用有意义的方式定义上一个,你仍然可以拥有你想要的东西。例如:你的活动在一段时间后过期吗?如果,例如,他们12小时后到期,你知道,你可以随时有意义最后定义为“时间为12小时前的那一刻”,因为较旧的任何未处理事件已经过时了......

要回答你的子问题,我强烈建议您不要自己编写存储引擎,因为分布式数据存储是一个非常困难的问题,许多非常聪明的人,为在这个领域无所事事,但解决问题的公司工作,为您做的事情。

改为利用他们的工作。

+0

现在我已经解决了使用“本地”快照,我回复事件存储中分发的事件。每次我需要获取快照时,首先检查分布式存储中是否有一些事件比上一次重播到我的“个人”“本地”快照中的事件更新。 – 2012-01-30 10:20:08