一个新手问题:如果我不使用 Sagas 或 pub/sub 模型,我是否需要任何带有 NServiceBus 的持久层?
默认持久化是 RavenDB,我想知道我是否只使用 NSB 而没有 RavenDB 或任何持久层?
旁注:目前我必须先运行 RavenDBServer.exe,然后才能使用 NserviceBus,所以如果我开始使用 NServiceBus,我不想依赖另一个在生产中运行的应用程序。这可能是我的安装问题。
一个新手问题:如果我不使用 Sagas 或 pub/sub 模型,我是否需要任何带有 NServiceBus 的持久层?
默认持久化是 RavenDB,我想知道我是否只使用 NSB 而没有 RavenDB 或任何持久层?
旁注:目前我必须先运行 RavenDBServer.exe,然后才能使用 NserviceBus,所以如果我开始使用 NServiceBus,我不想依赖另一个在生产中运行的应用程序。这可能是我的安装问题。
NServiceBus 仅使用持久性来存储 pub/sub 和 saga 状态的订阅。如果您不使用这些,则不需要 RavenDB 或任何其他实现。我相信默认情况下 NServiceBus.Core 二进制文件与 RavenDB DLL 捆绑在一起,但在您的情况下,生产中不需要它。
如果我理解正确,您还可以使用我认为在内存持久性中使用的 NServiceBus.Lite 配置文件。当您正在开发和尝试学习 NServiceBus 时,这是一个很好的方法。但是,我不确定您是否希望在生产中这样做。更好的做法是在数据库或文件系统中保留一些持久性,以确保在出现错误或应用程序重新启动的情况下应用程序的可靠性。