问题标签 [neventstore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
84 浏览

event-sourcing - 只写流

我正在使用 joliver/EventStore 库并试图找到一种方法来获取流而不从中读取任何事件。

原因是我只想为特定流写入一些事件到该存储中,而无需从中加载所有 10k 消息。

0 投票
1 回答
465 浏览

cqrs - 消息总线集成和有界上下文在停机后重新同步 - 服务总线 1.0

我刚刚下载了 joliver eventstore,并希望Windows Service Bus 1.0为一个跨多个有界上下文进程分离的应用程序连接一条服务总线。

如果有界上下文已离线,而其他有界上下文中的事件已创建(或者甚至可能是已部署的新上下文),我可以看到以下事件序列。

  1. 例如 ContextA、ContextB 和 ContextC,它们都使用服务总线 1.0 连接,并且每个上下文都有自己的事件存储,它们都共享相同的总线消息传递底板。
  2. ContextC 离线。
  3. 当 ContextC 备份时,需要通知其他有界上下文需要重新发送到刚刚恢复在线的上下文的事件。这些事件从每个事件存储中重放。

我的问题是:

  1. 上述场景适用于任何事件溯源库,那么在此之上是否有任何基础设施代码我可以使用,还是我必须自己编写?
  2. 使用 Windows 服务总线 1.0,我如何将事件存储中的序列号与服务总线上的序列号结合起来?
  3. 以安全方式检测和处理已接收事件的最佳实践是什么(防止消息处理程序失败)?
0 投票
1 回答
821 浏览

nservicebus - nservicebus 和 eventstore

我想知道是否有人以前遇到过这种情况:

我处理一个命令,在处理程序中,我将一个事件保存到事件存储区(joliver)。
在调度之后,再次处理相同命令的处理程序。
我知道它是相同的命令,因为命令上的 guid 是相同的。

五次尝试后,nservicebus 说由于最大重试次数,命令失败。
所以显然命令失败了,但我没有得到任何失败的迹象。我已将调度程序的内容放在 try catch 中,但没有捕获到错误。代码退出调度程序后,事件处理程序将始终触发,就好像发生了错误一样。

跟踪代码,将事件保存到数据库(我看到行),调度程序运行,并将 Dispatched 列设置为 true,然后处理程序再次处理命令,过程重复,并插入另一行进入提交表。

什么可能会失败?我没有在事件商店的某处设置成功标志吗?如果我将事件存储与 nServicebus 分离,两者都将按预期运行,不会重试和失败。

调度员:

Wireup.Init()

0 投票
2 回答
843 浏览

domain-driven-design - 没有 CQRS 的 EventStore

我看过很多关于 EventStores 的文章,但所有文章都伴随着关于 CQRS 的讨论。

我们希望使用 EventStores 来集成有界上下文,但希望坚持使用传统的 ORM 来读取/写入聚合,以避免命令/查询和单独的读取模型在我们的例子中会增加太多的复杂性。

鉴于将这两个概念一起讨论如此流行,人们会认为它们注定要一起生活 - 与为聚合/CQRS/读取模型实现 EventStore 相比,在没有 CQRS 的情况下做 EventStore 'lite' 是否存在陷阱?

0 投票
1 回答
146 浏览

event-sourcing - 为什么我的命令事件字符串字段被检索为空

我正在编写我的第一个 EventStore 测试应用程序,我正在从流中重新水化我的对象,虽然它正确获取了 numberSold,但标题为空,我不明白为什么 - 从流中检索的命令具有标题设置为空,但我确信它写得很好。

一双新鲜的眼睛能看出我做错了什么吗?

书类

图书存储库

命令

0 投票
2 回答
242 浏览

neventstore - EventStore 仅在 Payload 列中显示十六进制字符串

据我所知,我应该在我的 SQL 数据库 Commits 表的 Payload 列中显示 JSON,但是我有一个很长的十六进制字符串。

我的连线代码根据示例进行了以下编辑:

知道如何获取 JSON 并使调试更容易吗?

0 投票
1 回答
367 浏览

serialization - NEventStore 3+ 的 Protobuf-net 序列化程序

谁能指出我的 NEventStore 3.0 的 protobuf-net 序列化程序?

我遇到了麻烦,我认为主要是由于事件存储 3 中的序列化将事件主体和标头包装在 EventMessage 中。

我不确定如何正确设置自定义序列化程序。

0 投票
1 回答
120 浏览

neventstore - EventStore 重复提交查询

为什么@Jonathan Oliver 的 EventStore 的 SQL 持久性用作CommitSequence检测重复提交的标准之一?为什么不StreamId足够CommitId

请参阅下面的 SQL。

此 SQL 语句来自SqlPersistenceEngine.DetectDuplicate(). 它用于确定DuplicateCommitException应该抛出 a 还是只抛出ConcurrencyException.

0 投票
1 回答
122 浏览

neventstore - EventStore RDBMS 模式索引

为什么 Jonathan Oliver 的 EventStore 的 RDBMS 模式包含以下索引中的项目?

0 投票
1 回答
486 浏览

neventstore - NEventStore Commit Guid,它的真正用途是什么?

我了解CommitIdJonathan Oliver 的活动商店在内部使用它。到目前为止,我一直Guid.NewGuid()CommitId.

你们什么时候想做不同的事情?

我不明白为什么它会在他的公共域存储库中公开。

任何人都可以对此有所了解吗?