问题标签 [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 回答
1041 浏览

cqrs - J Oliver EventStore V2.0 问题

我正在着手实施一个使用 CQRS 的项目,并打算使用 J Oliver EventStore V2.0 作为我的事件持久性引擎。

1) 在文档中,ExampleUsage.cs 在“BuildSerializer”中使用了 3 个序列化器。我想这只是为了展示反序列化过程的灵活性?

2)在“失败后重新启动”的情况下,某些事件没有被调度,我相信我需要调用 GetUndispatchedCommits() 然后调度它们的启动代码,对吗?

3) 同样,在“ExampleUseage.cs”中,如果“TakeSnapshot”将第三个事件添加到事件存储中,然后“LoadFromSnapShotForward”不仅检索最近的快照,而且检索快照后的事件以模拟重建一个聚合体。

4) 我没有看到保留旧快照的用途。你能给出一个有用的用例吗?

5) 如果我有一个服务正在处理命令的接收和事件的生成,那么建议的策略是跟踪自给定聚合的最后一个快照以来的事件数量。我当然不想太频繁地调用“GetStreamsToSnapshot”。

6) 在 SqlPersistence.SqlDialects 命名空间中,sql 语句名称是“GetStreamsRequiringSnaphots”而不是“GetStreamsRequiringSnapShots”

0 投票
1 回答
917 浏览

cqrs - 如何使用 J Oliver 的 EventStore 库?

我一直在为一个使用 J Oliver 的 EventStore 和 mongo 作为持久层的新项目研究事件溯源,但遇到了一些问题:

  1. 在尝试事件源之前,我的域一直保存到一个数据库中,并且我一直在使用 Udi 的域事件模式,这对我来说非常有效,NHibernate 管理工作单元。但是,我最终得到了一个可以影响多个聚合的工作单元,例如。

    我“结帐”我的购物篮聚合引发了一个事件,处理程序通过创建一个发票聚合来响应该事件,该发票聚合反过来引发一个事件(这只是一个示例)

    在这种情况下,我有一个改变两个聚合根的工作单元 - 在事件存储中,我可以将引发的事件添加到两个不同的事件流中,但它们不会以原子方式持久化(第一个可能成功,第二个失败) . 那么人们怎么做才能避免这种情况发生呢?

  2. 在github主页上,它建议您可以使用流畅的界面来配置EventStore,但是当我下载源代码时,编译它并在示例中查看wireup类似乎不可用 - 它是否在不同的分支中? (我有师傅)

  3. 处理 IStoreEvents impl 的推荐方法是什么?作为类似于 Nhibernates 会话工厂的单例?

0 投票
2 回答
2029 浏览

nservicebus - NEventStore NServiceBus 设置

使用 NEventStore 时如何集成到 NServiceBus 中?

我是 NSB ans ES 的新手,并试图在使用 ES 和 CQRS 时找出 NSB 的最佳设置。

我以与示例中的 DispatchCommit 相同的方式连接到 NSB, https://github.com/joliver/EventStore/blob/master/doc/EventStore.Example/MainProgram.cs

  1. 你发布整个 Commit 或 Commit.Events 吗?
  2. 您是否因为 NSB 在您的消息上需要 IMessage 而围绕您的消息创建一个包装器?那么你如何发布到正确的队列呢?因为 wrapper 与 OrderSubmittedEvent 相比是通用的,例如。如果可能的话,我不希望我的事件依赖于 NSB,因为我的域中也有它。

一些代码或指导非常感谢。

0 投票
1 回答
775 浏览

cqrs - CQRS EventStore Dispatcher 错误处理

我在看 2 个场景:A 没问题,B 不确定。

场景 A:在提交后、分派前模拟应用程序重启

  1. 启动 EventStore
  2. 提交更改
  3. 事件未发送
  4. 停止事件商店
  5. 启动活动商店

在第 5 步中再次发送提交的事件。这工作正常,我在调度程序代码中也看到了这一点。

场景 B:模拟总线错误

  1. 启动 EventStore
  2. 提交更改 1
  3. 调度程序中的异常
  4. 提交更改 2
  5. 发货好

在这种情况下,我找不到该行为,并且想知道它是否是一个有效的案例:只有在总线代码中存在错误时才会发生这种情况。

是否存在将重试调度的触发器,或者我是否需要编写代码来处理这个问题,或者我的推理有问题?

0 投票
1 回答
675 浏览

event-sourcing - NEventStore 配置 SQL 方言的问题

我正在研究原型 CQRS 实现并尝试将 Jonathan Oliver 的事件存储与 MS SQL 服务器一起使用:

我在 app.config 中定义了一个匹配的连接字符串:

我已经尝试了 SQL CE、本地 SQL、远程 SQL 服务器的连接字符串的变体,并且总是得到这个错误:

有没有人遇到过这个或者知道我做错了什么?我尝试单步执行源代码,但仍然不确定为什么会有空引用。-史蒂夫

0 投票
1 回答
754 浏览

cqrs - J Oliver EventStore V2.0 CommonDomain 快照

什么是使用 EventStore 和 CommonDomain 时拍摄聚合快照的最佳实践(有没有更好的地方问,用户组,类似的东西)?

0 投票
1 回答
630 浏览

cqrs - JOliver EventStore - 如何访问所有存储的事件?

如何访问EventStore 中存储的所有事件以重建我的读取模型?

问题J Oliver EventStore V2.0 questionsGetFrom中提到了一个调用的方法,但我在 Wireup 返回的接口“IStoreEvents”上找不到此方法。

0 投票
2 回答
1161 浏览

cqrs - JOliver EventStore 快照

说我有这个代码:

我怎么知道要为当前流加载什么聚合?我也在使用 CommonDomain。里面有东西吗?

谢谢

0 投票
2 回答
371 浏览

cqrs - 重放特定类型的事件

我正在查看joliver 的 EventStore并考虑为新的事件处理程序重放事件。我看到有一种方法可以获取自某个时间点以来的所有提交(ICommitStreams.GetFrom(Date)),但我不知道如何只获取特定类型的事件。

我错过了什么吗?

0 投票
1 回答
2766 浏览

domain-driven-design - NServicebus 发布事件 - 收到空消息

在我的域中发布事件后,我不断收到来自我的非规范化程序主机的以下消息:

我只是用 jolivers eventstore 来做这个:

IPublishMessages 解析为:

发布事件的 NServiceBus 主机具有以下配置:

接收事件的非规范化主机是:

这对我来说似乎是正确的 - 发布者处理从网络发送的命令并且域引发事件。NServiceBusPublisher 发布事件并且非规范化主机至少收到一些东西!它只是不是它已经发送的消息 - 或者至少发生了一些事情让它认为消息是空的......

任何人?

** * **更新* ** * ** * ****

我现在从 l4n 得到以下信息:

这是它试图反序列化的消息!

不完全是什么忙...