Last Updated: Dec 03, 2012 08:24PM IST
NserviceBus中有很多特征都要求信息的持久化,主要是timeouts,Sagas,以及subscription的存储。
NserviceBus中有四种持久化技术:
1.RavenDB
2.NHibernate
3.In Memory
4.MSMQ
关于RavenDB的安装可以看hereand怎么样连接到RavenDB参见here.
Using NHibernate for persistence
NserviceBus3.0开始支持NHibernate持久化技术,其位于单独的程序集中,更多信息参加Readmore
下表总结了哪些是可以获得的,以及如何配置他们:
|
InMemory
|
RavenDB
|
NHibernate
|
MSMQ
|
Timeout
|
√
|
√
|
√
|
Not supported begining version 3.3,0
|
Subscription
|
√
|
√
|
√
|
√
|
Saga
|
√
|
√
|
√
|
|
Gateway
|
√
|
√
|
√
|
|
Distributor
|
|
|
√
|
√
|
Second Level Retry
|
|
|
|
√
|
Fault Management
|
√
|
|
|
√
|
Notifications
|
|
|
|
√
|
假如self hosting,那么你可以根据你的需求任意配置持久化技术,举一个例子,假如你想要存储subscription在内存中,timeouts在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.Host.exe,有现成的profile你可以利用,下表展示了每种预建profile的默认配置采用的是何种持久化技术。 此外,你可以覆盖这些默认的配置,如何覆盖参考
hereandhere.
下表总结了应用在内建的profile中的不同的持久化技术,不过在配置一个持久化技术之前首先检查一下是否有别的存储被使用,以避免覆盖了用户的配置。
|
InMemory
|
RavenDB
|
NHibernate
|
MSMQ
|
Timeout
|
Lite
|
Integration/Production
|
|
Keeps a queue for management
|
Subscription
|
Lite
|
Integration/Production
|
|
|
Saga
|
Lite
|
Integration/Production
|
|
|
Gateway
|
Lite
|
MultiSite
|
|
|
Distributor
|
|
|
|
Distributor
|
Second Level Retry
|
|
|
|
Uses Timeout queue
|
Fault Management
|
Lite
|
|
|
Integration/Production
|
Notifications
|
|
|
|
Lite/Integration/Production
|
Default Persisting Technology
AsA_Server将会激活Timeout manager,这个角色并不明确决定使用哪种持久化技术,默认的timeout manager的持久化技术是RavenDB。
类似于AsA_Server这个角色,不同的profile将会激活不同的NServiceBus特征,而不需要明确地配置持久化技术,更多的关于各种profile的资料参考here.
分享到:
相关推荐
NServiceBus.Persistence.AzureStorage 和的官方持久性实现。 通过我们的了解有关NServiceBus.Persistence.AzureStorage的更多信息。 如果您有兴趣捐款,请按照的说明进行操作。运行测试之前测试需要连接到Azure ...
添加对支持,以将其持久化到Sql数据库。 文献资料 运行测试 有针对多个数据库引擎的测试。 这些可以安装在您的机器上或在docker容器中运行。 这些测试需要在环境变量中设置连接字符串(请记住,Visual Studio和...
NServiceBus.Persistence.CosmosDB 利用Core(SQL)API的NServiceBus持久性。 这是一个组件。 有关文档,包括用法和示例,可在“。 在本地运行测试 所有测试项目都使用NUnit。 可以使用Visual Studio中包含的测试...
CQRS-NServiceBus-EventStore-ElasticSearch 展示使用 NServiceBus EventStore 和 ElasticSearch 的 CQRS 架构的原型。 更多信息在我的博客:
NServiceBus 是一个.Net平台下开源的消息服务框架,这类产品有时也被称作ESB(Enterprise Service Bus)——企业服务总线。NServiceBus也是dotnet世界里面最流行的开源企业服务总线。 NServiceBus 是一个用于构建企业...
由.net开源ESB框架NServiceBus开发的Demo
Learning NServiceBus, 2nd Edition
最流行的开源企业服务总线NServiceBus for .Net
安装此选项以启用NServiceBus以便通过SQL Server进行消息传递 安装 在执行其他任何操作之前,请确保已在环境中启动并运行SQL Server。 还要确保可以从设置中的所有计算机上访问它。 将NServiceBus.SqlServer添加到...
NServiceBus 是一个用于构建企业级 .NET系统的开源通讯框架。它在消息发布/订阅支持、工作流集成和高度可扩展性等方面表现优异,因此是很多分布式系统基础平台的理想选择
要构建NServiceBus,只需在Visual Studio中打开NServiceBus.sln 。 您将在/ binaries中找到构建的程序集。 如果看到构建失败,请检查是否没有将NServiceBus的源放在深子目录中,因为MSBuild不支持长路径名(大于248...
验证.NServiceBus 添加支持以验证。社区支持预期所有开发人员都将或拥有以使用NServiceBusExtensions。赞助商通过 支持这个项目。 公司头像将在此处显示,并带有网站链接。 该头像还将被添加到下的所有GitHub存储库...
NServiceBus OracleAQ 该库提供了在 NServiceBus 框架中使用 Oracle Advanced Queuing (Oracle AQ) 作为传输的能力。...使用 NServiceBus OracleAQ 传输的好处之一是能够从数据库 PL/SQL 过程或代码块发送消息。
NServiceBus 开源EBS安装文件
NServiceBus.AwsLambda
NServiceBus.Newtonsoft.Json 的官方序列化程序实现通过我们的了解有关NServiceBus.Newtonsoft.Json的更多信息 如果您有兴趣捐款,请按照的说明进行操作
nServiceBus and BizTalk Server.docx
NServiceBus.Extensions.EndpointStarted 启用注册一个回调,以便在启动NServiceBus端点时得到通知: var endpointConfiguration = new EndpointConfiguration ( " SampleEndpoint " ); endpointConfiguration . ...
NServiceBus.Hyperion 通过二进制序列化器添加对消息序列化的支持。内容社区支持预期所有开发人员都将或拥有以使用NServiceBusExtensions。赞助商通过 支持这个项目。 公司头像将在此处显示,并带有网站链接。 该...