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.
分享到:
相关推荐
4. **持久化和存储**:NServiceBus支持多种持久化机制,如SQL Server、Azure Table Storage等,确保在服务重启或故障后能恢复状态。 5. **消息分发和路由**:NServiceBus可以智能地路由消息到正确的接收方,同时...
3. 队列和持久化(Queuing and Persistence):为了保证消息在分布式系统中的可靠传输,NServiceBus支持多种消息队列技术和持久化机制,如MSMQ、RabbitMQ等,以及对数据库的直接存储支持。 4. 路由和分发(Routing ...
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的模块化设计允许开发者根据项目需求选择使用哪些功能,从而降低系统的复杂性。 总结起来,NServiceBus作为一款优秀的开源ESB,为.NET开发者提供了实施SOA的便捷途径。通过实例演示了如何在实际...
NServiceBus 是一款强大的开源通信框架,专为构建企业级 .NET 应用程序而设计。这个框架的核心理念是简化分布式系统中的复杂性,通过提供可靠的消息传递机制,实现服务间的解耦和通信。NServiceBus 提供了多种功能,...
NServiceBus 是一个.Net平台下开源的消息服务框架,这类产品有时也被称作ESB(Enterprise Service Bus)——企业服务总线。NServiceBus也是dotnet世界里面最流行的开源企业服务总线。 NServiceBus 是一个用于构建企业...
安装此选项以启用NServiceBus以便通过SQL Server进行消息传递 安装 在执行其他任何操作之前,请确保已在环境中启动并运行SQL Server。 还要确保可以从设置中的所有计算机上访问它。 将NServiceBus.SqlServer添加到...
10. **成本效益分析**:选择集成方案时,应综合考虑项目需求、现有技术栈、资源限制和长远规划,权衡nServiceBus的灵活性和BizTalk Server的全面性。 总的来说,nServiceBus和BizTalk Server的集成为企业提供了更大...
要构建NServiceBus,只需在Visual Studio中打开NServiceBus.sln 。 您将在/ binaries中找到构建的程序集。 如果看到构建失败,请检查是否没有将NServiceBus的源放在深子目录中,因为MSBuild不支持长路径名(大于248...
NServiceBus 提供了一种结构化的、声明式的方式来处理应用程序之间的消息传递。它支持事务性消息、故障恢复、路由、分发和负载均衡等功能。通过定义消息接口,服务之间可以进行异步通信,从而提高了系统的可伸缩性和...
验证.NServiceBus 添加支持以验证。社区支持预期所有开发人员都将或拥有以使用NServiceBusExtensions。赞助商通过 支持这个项目。 公司头像将在此处显示,并带有网站链接。 该头像还将被添加到下的所有GitHub存储库...
ServiceInsight是一款可视化工具,帮助开发者观察和理解NServiceBus系统中发生的事情,包括消息的流动、错误和Saga的行为。 在ServiceInsight的SagaView中,通过 SagaAudit 提供的状态更改记录,用户可以得到一个更...
NServiceBus OracleAQ 该库提供了在 NServiceBus 框架中使用 Oracle Advanced Queuing (Oracle AQ) 作为传输的能力。...使用 NServiceBus OracleAQ 传输的好处之一是能够从数据库 PL/SQL 过程或代码块发送消息。
通过学习这些内容,开发者可以深入理解如何在实际项目中有效地利用NServiceBus的功能,如配置传输协议(如Azure Service Bus、RabbitMQ等)、持久化存储、消息分发和故障恢复策略等。 总结起来,NServiceBus为.NET ...
NServiceBus 开源EBS安装文件