- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我试图弄清楚我的事件存储和我的读取模型在实际具体实现方面是如何相关的。
我对事件存储的有限了解使我相信:
这意味着如果公共(public)交通出现任何问题,我的读取数据库将不同步,我必须想办法将其同步回来。
我读过/看过 greg young 发表的一些内容建议使用事件存储本身作为队列,并通过在事件存储端保留一个自动递增数字来保持一致性,以保持最终一致性。我想知道这是否已在 joliver 的项目中实现?
最佳答案
so my read database gets the message (mysql)
我要重申,“我的事件处理器为给定的事件获取消息并且(在我的例子中)通常会在 mysql 数据库中操作状态”(或者你的意思是别的?)。
This would mean that if anything happened to mass transit, my read database will be out of sync and I have to figure out how to sync it back.
是的,您的队列成为您应用状态的一部分,它需要备份和恢复。请注意,Dispatcher 在成功将 Commit 放入 Queue 之前不会标记 Commit dispatched,并且在您确认完成处理以进行必要的更新以同步状态之前,排队系统不会删除消息阅读模型。
请记住,您可以将多个 Web 服务调用视为处理事件的必要工作的一部分。
另一件要记住的事情是,您需要让您的事件处理器是幂等的(即能够处理至少一次传送)。
更进一步,如果事件无法完成处理,您将很高兴地考虑您将要做什么 - 您是否要对消息进行死信处理?谁来监控?
顺便说一句,根据您的托管安排,Azure(或本地 Windows)ServiceBus 可能值得考虑)
Some stuff I've read/watched that's been published by greg young suggest using the event store itself as a queue, and maintain consistency by keeping an auto increment number on the event store side in order to maintain eventual consistency. I'm wondering if that is implemented in joliver's project?
不,JOES 为您提供了一个 Dispatcher Hook ,然后您可以决定什么是适合您的。这是好是坏。有些系统根本没有绑定(bind)到有状态读取模型的 Dispatcher - 它们只是查询事件存储中的事件并构建内存中读取模型以短路所有这些。
不确定您所说的自动递增数字是什么意思。
请注意 GES 中的投影内容还没有完全 1.0(但不言而喻,它非常值得您认真考虑 - 它本质上处理了您在这些问题中涉及的大部分问题)
关于c# - joliver/EventStore 最终一致性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15254684/
我正在使用 EventKit 的 EKEventStore,我想模拟它和 EKEvent。但是我不知道如何正确抽象EKEvent's init(eventStore: EKEventStore) 和其
我在我的应用程序中使用 EventStore,目前想部署在我们的一个产品环境中。当我在我的电脑上开发时,EventStore 启动时没有任何问题。当我想在我们的产品服务器上启动它时,问题就来了。 Ev
我正在尝试评估 EventStore就像服务器软件内部的可靠排队机制一样。 MSMQ 作为替代方案失败了,因为它不能支持部分排序,消息“对话”中的有序消息。并且由于它的 4MB 消息大小限制(可以
我已经开始在 .Net 中创建一个测试应用程序,它使用 Greg Young 的 EventStore 作为 CQRS/ES 的后备存储。 为了方便加载完整的聚合,我保存到一个名为“agg-123”的
我想问问您的意见,以及您认为使用 ElasticSearch 作为 EventStore 的利弊。 我想听听是否有人有使用 ElasticSearch 作为事件存储的经验,以及结果、可靠性以及是否存在
我已经关注 Event Store 一段时间了,困扰我的一件事是何时应该考虑编写投影?创建扁平投影是常见的做法吗? The setup here is using a stream per aggre
对于我的罪过,我负责存储个人身份信息和可能受 HIPAA 保护的数据的数据库。 因此,这些数据在传输过程中和静止时都需要加密存储。 我们目前使用 MSSQL Enterprise 和 TDE。 我们正
我们正在使用 axon 框架版本 3.4.2,并在我们的代码中发现了一个错误。该错误与未发布的缺失事件有关。解决方案是修复代码,但这不会修复事件存储和 View 。 我的问题是如何解决这个问题?我们考
我在看 2 个场景:A 没问题,B 不确定。 场景A:模拟提交后、分派(dispatch)前的应用程序重启 启动EventStore 提交更改 事件未发送 停止事件商店 启动事件存储 在第 5 步中再
如果我想根据存储在 ES 中的所有历史事件填充新的 Viewmodel,我该怎么做? 我可以看到 IPersistStreams.GetFrom(DateTime)但是一口气把它们全部搞定似乎有点吓人
任何人都可以解释为什么 EventStore 有 2 个实际版本(20.6.1 和 5.0.9)? 它们之间有什么区别? 我们应该为什么目标使用什么版本? 最佳答案 20.x 和 5.x 之间的主要区
也许这个问题很愚蠢,但我有点困惑。 假设我们想要利用这种模式: 企业应用程序中的事件存储范围究竟是什么? 事件存储是在多个进程之间共享,还是只是一个进程内概念? 当应用程序关闭时,事件会发生什么?它们
使用 JOliver EventStore 3.0 并从 NServiceBus 接收命令,处理并发异常的正确方法是什么?如果我有多个工作线程,这可能是一种常见的情况。 选项 1 try {
谁能给我指点EventStore带有源代码的示例应用程序? 我正在学习事件存储并想查看引用实现。 最佳答案 很多这样的东西似乎都缺乏功能齐全的示例项目。到目前为止,我发现的 EventStore/Co
顺便说一句,你如何创建一个流? I use AppendToStreamAsync directly, is this right or shall I create a stream first t
我目前正在开始使用 EventStore我正在关注 Getting Started指导。我只是卡在第一步,不知道我做错了什么...... 我现在使用的版本是 20.6.0 . 我正在尝试使用 .NET
如何访问 EventStore 中存储的所有事件以重建我的读取模型? 在问题 J Oliver EventStore V2.0 questions 中提到了一个名为 GetFrom 的方法,但我在 W
是否可以不通过 StreamId 而通过其他 Stream 属性来搜索流?例如,如果每个流的 header 中都有 CustomerId,我想搜索具有特定 CustomerId 的所有流。 最佳答案
我试图弄清楚我的事件存储和我的读取模型在实际具体实现方面是如何相关的。 我对事件存储的有限了解使我相信: 事件提交给事件存储 调度员运行 如果我使用队列,我会将消息发送到队列(比方说公共(public
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!