我们有一个微服务架构,并使用名为“HC.Framework”的 nuget package 在我们的服务之间共享一些代码。 当我尝试构建一个使用此 nuget package(具有 NSB 和东西的所有配置)的解决方案时,出现以下异常: 我不确定这里有什么问题? 下面是一个传奇 class 的片段 ...
我们有一个微服务架构,并使用名为“HC.Framework”的 nuget package 在我们的服务之间共享一些代码。 当我尝试构建一个使用此 nuget package(具有 NSB 和东西的所有配置)的解决方案时,出现以下异常: 我不确定这里有什么问题? 下面是一个传奇 class 的片段 ...
我需要查询 Saga Data 类的属性以获取列表。 它作为序列化对象存储在 SqlPersistance 表 [Data] 列上。 考虑一个场景,我的 SagaData 有一个名为 UserName 的属性,所以我想查询与该用户相关的每个 saga。 以一种草率的方式,我可以查询列内容,获取列表并 ...
我们有一种情况,我们的几个服务在我们的系统中共享。 例如,跟踪股票走势的一种。 每当文章的库存水平发生变化时,就会引发一个事件。 我们遇到的问题是,虽然有时另一个服务可能对所有库存变化事件感兴趣(例如进行一些聚合),但在大多数情况下,只有作为特定操作结果的库存变化才有意义。 我们现在面临的问题是 ...
我有一个使用 SQL 传输和 NHibernate 持久性用 NSB7 构建的非常简单的 Saga。 Saga 侦听队列,并为收到的每条消息运行 4 个处理程序。 它们按顺序调用,2 个处理程序并行运行,最后一个处理程序仅在两个并行处理程序都完成后运行。 最后一个处理程序向 DB 写入一条记录 ...
我希望我的 NServiceBus 传奇存在于单独的 SQL Server 架构中。 为 sagas 创建表的自动生成的 SQL 脚本确实使用自定义模式名称,但如果模式不存在,则不会创建模式,因此必须事先手动创建模式。 这是设计使然吗? 在执行自动生成的 SQL 之前,是否有一个钩子可以用来包含创 ...
我使用 Azure 表存储进行持久化,使用 Azure 服务总线进行传输,我想知道在 saga 处理程序中进行了哪些事务? 它与普通处理程序相同吗? 我之所以这么问是因为我看到数据库更改(SqlBulkCopy,通常在环境事务中登记)发生多次。 在这种情况下,我直接从 Saga 访问数据库以“单线 ...
对于来自Sagas的邮件的恢复,我们遇到了问题。 当Saga发送消息进行处理时,消息处理程序有时会因异常而失败。 当前,我们使用try / catch,并且在引发异常时,我们会向Saga发送失败消息以进行“回复”。 这种方法的问题在于,由于我们正在处理消息处理程序中的错误,因此不会发生 ...
我们正在尝试使用 Saga 序列化业务对象列表的处理。 现在,没有 Saga,我们只需循环遍历对象列表,然后触发bus.Send(new ProcessBusinessObejct(obj))异步以让处理程序执行。 所以处理或多或少是并行发生的,取决于这个设置,我相信: 这工作正常,但并发处理 ...
我有一个解决方案,其中在两个单独的项目中定义了Sagas和托管: Project NSB =>定义类CreateAuthoritySetSaga:SqlSaga <...> 项目Webhost =>引用项目NSB Webhost程序集文件定义了Promo ...
https://docs.particular.net/nservicebus/testing/有一个非常简洁的示例,说明了如何测试简单的Saga。 不幸的是,它没有解释如何使用SqlSaga-即。 具有状态持久性的Saga。 鉴于这个传奇: 如果我尝试像链接中的示例一样编写测 ...
我是NServiceBus的新手,正在尝试寻找对使用补偿交易的方案进行建模的最佳方法。 例如,假设我有一个典型的BookHotel场景: 在令人满意的情况下,消息传递流程将如下进行: BookHotelCommand-> BookHotelSaga BookF ...
在NServiceBus 4.6.5中,消息使用循环算法发送到工作服务器。 我在Sagas中有一些数据来检测不同步的业务消息。 该数据存储在Oracle数据库中。 如何确保所有服务器始终共享同一个SagaData(以同步方式),以便一台服务器对该SagaData进行更改,其他服务器 ...
我是NServiceBus及其Saga的新手...可以在sagas中实现条件流吗? 传奇:s-> a-> b-> e在'a',我应该可以选择进入b还是进入新状态c。 我应该再次从“ c”到达e ...
我已多次阅读网站上的文档。 我一遍又一遍地阅读相同的文章,我无法理解他们想要用传奇来实现的目标。 此外,互联网上几乎没有与此主题相关的资源。 但我完全陷入了试图理解定义所谓的传奇的目的和好处。 我理解处理程序(IHandleMessages) - 这些是拦截器。 但我无法理解佐贺的 ...
我在使用NServiceBus saga时遇到“乐观并发冲突”异常。 我的传奇涵盖了一个相对简单的流程:当任何消息到达时,它几乎没有外部请求,并在一段时间后收集回复。 下面你可以找到我的传奇的一个例子。 NServiceBus为此类流产生“乐观并发冲突”异常是否正常? 我 ...
我正在尝试使用带有SqlPersistence和SqlDialect.MsSqlServer NServiceBus 6在另一个项目中的一个项目中承载Saga。 在我发现的大多数示例中,Saga与托管应用程序都包含在同一程序集中,也许这就是我在努力的原因。 在同一应用程序中托管所有内容时 ...
我正在使用DDD设计CQRS应用程序,我想知道如何实现以下场景: Participant聚合可以由多个ParticipantEntry聚合引用 向Command端发出AddParticipantInfoCommand ,其中包含Participant和一个Participant ...
我遇到以下代码: 从上面代码中的事物看,sagas似乎是某种事件的高级协调器/控制器。 如果是这样,它们仅在事件驱动的体系结构中使用吗? 最后,基础设施的sagas部分是吗? 第一个查询似乎已得到回答。 但是在责任方面,即基础架构,它们真正属于哪儿呢? 域? 。 这些仅 ...
我有一个控制器传奇,它曾经在一个事务中启动一个包含3个动作的进程。 我现在正在将这个子流程重构为一个单独的传奇。 这样做的结果是原始的saga将启动新的“sub-saga”的多个实例(这个sub-saga也将由其他非传奇进程启动,通过相同的命令)。 我的问题是如何以最好的方式关联这种传奇的 ...
我正在尝试寻找有关在NServiceBus 5.x中设计Saga(由2条或更多消息开始)的帮助。 这意味着传奇将不会以单个消息开头,但是所有消息都必须在传奇开始之前存在。 我不太了解如何使用,并且在任何地方都找不到示例或示例。 我读了几本书,清楚地表明,通过多个消息开始一个传奇故事 ...