• 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特性,没有显式配置持久化技术。

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

  • 相关阅读:
    study os
    open source [license]
    work serises------------patch
    interest in history-----------先秦
    python学习-----------argparse
    problems fixed
    work serises------------adb 使用
    零碎积累之--------------java环境相关
    Hash Table Five Finish
    Hash Table Four
  • 原文地址:https://www.cnblogs.com/powerxu/p/4294281.html
Copyright © 2020-2023  润新知