NServiceBus教程-持久化

NServiceBus的各种特性需要持久性。其中有超时、传奇和订阅存储。

四个持久化技术在NServiceBus在使用:

读到安装Raven DB如何连接 .

使用NHibernate的持久性

从NServiceBus V3.0,支持NHibernate持久性位于一个单独的组装。的配置被进一步简化V4.0 +。

NHibernate的持久性v3 . x.

可用是什么?

下面的表总结了什么是可用的,如何配置每个特性。

类型
内存中
RavenDB
nHibernate
MSMQ

超时
X
X
X
v3.3.0不支持

订阅
X
X
X
X

传奇
X
X
X
- - - - - -

网关
X
X
X
- - - - - -

经销商
- - - - - -
- - - - - -
- - - - - -
X

存储你的订阅MSMQ不适合场景需要规模的端点。原因是,订阅队列不能在多个端点之间共享。

如果自我托管,您可以配置每个功能的持久性技术。例如,在RavenDB存储订阅内存和超时,使用这段代码:

static void Main()
{
    Configure.With()
    .Log4Net()
    .DefaultBuilder()
    .XmlSerializer()
    .MsmqTransport()
    .IsTransactional(true)
    .PurgeOnStartup(false)
    .InMemorySubscriptionStorage()
    .UnicastBus()
    .ImpersonateSender(false)
    .LoadMessageHandlers()
    .UseRavenTimeoutPersister()
    .CreateBus()
    .Start(() => Configure.Instance.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install());
}

和NServiceBus v4.x

static void Main()
{
    Configure.Serialization.Xml();

    Configure.Transactions.Enable();

    Configure.With()
    .Log4Net()
    .DefaultBuilder()
    .UseTransport<Msmq>()
    .PurgeOnStartup(false)
    .InMemorySubscriptionStorage()
    .UnicastBus()
    .RunHandlersUnderIncomingPrincipal(false)
    .LoadMessageHandlers()
    .UseRavenTimeoutPersister()
    .CreateBus()
    .Start(() => Configure.Instance.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install());
}

当你使用NServiceBus.Host。exe开箱即用的,您可以使用一个可用的配置文件。下面的表显示了持久性技术每个预构建配置文件默认配置。此外,您可以重写默认配置。阅读更多关于配置文件 ,这里太.

下表总结了不同的持久化技术被内置的配置文件。

配置持久性技术之前,为了避免覆盖你的配置,配置文件检查是否使用其他类型的存储。

- - - - - -
内存中
RavenDB
nHibernate
MSMQ

超时
lite
集成/生产
- - - - - -
保持队列管理

订阅
lite
集成/生产
- - - - - -
- - - - - -

传奇
lite
集成/生产
- - - - - -
- - - - - -

网关
lite
多站点
- - - - - -
- - - - - -

经销商
- - - - - -
- - - - - -
- - - - - -
经销商

默认的持久化技术

AsAServer角色激活超时经理。这个角色不明确地确定使用哪一个持久化技术。因此,默认超时持久化技术经理(RavenDB)。

类似于 AsAServer角色,不同的概要文件激活不同NServiceBus特性,没有显式配置持久化技术。

阅读更多关于不同的配置文件 .

原文地址:https://www.cnblogs.com/powerxu/p/4294281.html