问题标签 [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 投票
3 回答
4152 浏览

cqrs - NEventStore 3.0 - 吞吐量/性能

我一直在尝试将 JOliver 的 Event Store 3.0 作为项目中的一个潜在组件,并一直在尝试通过 Event Store 测量事件的吞吐量。

我开始使用一个简单的工具,它基本上通过一个 for 循环迭代创建一个新的流,并将一个非常简单的事件提交到一个 MSSQL2K8 R2 DB,该事件包括一个 GUID id 和一个字符串属性。调度员本质上是一个无操作的人。

这种方法设法在 8 路 HP G6 DL380 上运行每秒约 3K 次操作,而 DB 在单独的 32 路 G7 DL580 上运行。测试机器不受资源限制,在我的情况下,阻塞看起来是限制。

有没有人有任何测量事件存储的吞吐量的经验以及已经取得了什么样的数字?我希望吞吐量至少提高 1 个数量级,以使其成为可行的选择。

0 投票
1 回答
316 浏览

transactions - Howto:使用单个事务来跨越多个聚合的更新

在我们的应用程序中,我们使用 Jonathan Oliver 的 EventStore 和 CommonDomain。我们用来存储事件的数据库是 SQL Server 或 Oracle。

对于特定的用例,我们需要通过一个命令更新多个聚合。我意识到(在 CQRS 中)理想情况下,一个命令应该只更新一个聚合,但在我们的例子中,一次更新多个实例是一项特定要求。

有没有一种简单的方法(不使用两阶段提交)来使这个操作原子化,如果是的话,那怎么可能?

编辑:这个问题特定于 EventStore 框架的使用(也可能是 CommonDomain 框架的存储库)。这不是关于事务处理或工作单元模式的一般问题(我很清楚)

0 投票
2 回答
410 浏览

event-sourcing - EventStore 3.1 - SQL Persistence - 如何使用非 dbo 模式?

对于我正在进行的项目,我不能使用 [dbo] 模式。通过查看 EventStore 源,使用非 dbo 模式看起来并不简单。

到目前为止,我想出的最好的方法是使用这样的自定义方言:

  • 子类 CommonSqlDialect
  • 添加 MsSqlDialect 的私有实例
  • 然后覆盖 CommonSqlDialect 的所有虚拟属性以执行类似的操作

例子:

我还必须自定义 InitializeStorage 属性以将“sysobjects”替换为“sys.objects”,这样我就可以在模式名称上添加额外的约束。

这可行,但似乎应该有用于自定义模式和表名的连接选项。

有没有更好的方法来处理我错过的这个问题?

0 投票
1 回答
509 浏览

cqrs - 如何在 EventStore 3.0 中使用 GetStreamsToSnapshot 创建快照

我们遵循 CQRS 架构并使用 Jonathan Oliver 的事件存储版本 3 进行事件。我们希望创建聚合根的快照以提高性能。

我找到了一个可用于此的 API (GetStreamsToSnapshot)。它根据创建快照之前的时间提供所有流。

但我不确定如何使用流来创建快照,因为我不知道聚合类型。

请提供有关如何创建快照的任何输入

0 投票
1 回答
558 浏览

cqrs - CQRS/EventStore:如何调度未调度的事件?

借助令人惊叹的 EventStore 3.0 库,有一个

发送这些的最佳方式/模式是什么?

我是否只是简单地循环并调用我的调度程序,然后更新提交以指示它已被调度(如果是这样,我将如何执行此操作)?

此外,在连接 EventStore 的过程中,会在启动时尝试对未分派的提交进行分派。我怎样才能避免这样做?

这些问题更多地与了解 EventStore 的工作原理有关,而不是项目的问题。

0 投票
1 回答
385 浏览

cqrs - CommonDomain/EventStore/CQRS:commondomain 的测试项目在哪里?

我已经从 GitHub 下载了 CommonDomain,我可以看到一个目录

其中包含文件“When_an_aggregate_is_persisted.cs”,但没有使用它的项目。基类“in_the_event_store”似乎也不见了。还有对 FakeBus、IDomainEvent、SynchronousDispatcher 等的引用。

0 投票
1 回答
439 浏览

cqrs - EventStore 和多个工作单元?

在对几个问题的回复中,Jonathan Oliver 提到使用 AsynchronousCommitDispatcher 来处理多个工作单元。

我还处于项目的设计阶段(还在学习 CRQS 和 ES),有几个问题:

  1. 我会为每个将受引发域事件影响的聚合根创建一个 AsynchronousCommitDispatcher 吗?

  2. 如果我有某种锁定机制,如果调度的事件被另一个用户锁定,它不能对聚合根进行更改,会发生什么?如果有锁,AsynchronousCommitDispatcher 会重试吗?

  3. 如果系统在处理域事件之前出现故障怎么办?除非我坚持它没有被处理,否则它不会丢失吗?

  4. 我最初的理解是 Dispatchers 的类型是用于通过网络传递消息或用于更新读取模型。在这里,我们使用它来更新另一个聚合根。我这个对吗?

TIA

京东

0 投票
2 回答
787 浏览

c# - 如何在 Jonathan Oliver 的 EventStore 中获取使用连接字符串配置的 SqlPersistence 实例?

下面的代码将为命名连接创建事件存储。

我需要类似的东西:

我发现最简单的方法是创建自定义 IConnectionFactory,但这看起来不正确。有什么建议么?

0 投票
1 回答
327 浏览

cqrs - EventStore build.cmd 错误

刚开始使用 JOlivers 事件存储库并遇到 build.cmd 中的一些 Nuget 命令问题。这是日志,也许你已经意识到这个问题,但我想我会把它放在这里。

0 投票
1 回答
3339 浏览

neventstore - 带有源的 EventStore 示例应用程序?

任何人都可以将我指向任何带有源代码的EventStore示例应用程序吗?

我正在学习事件存储并想查看参考实现。