NServiceBus翻譯之持久化技術(一):Persistence In NServiceBus
Last Updated: Dec 03, 2012 08:24PM IST
NserviceBus中有很多特徵都要求資訊的持久化,主要是timeouts,Sagas,以及subscription的儲存。
NserviceBus中有四種持久化技術:
1.RavenDB
3.In Memory
4.MSMQ
關於RavenDB的安裝可以看hereand怎麼樣連線到RavenDB參見here.
Using NHibernate for persistence
NserviceBus3.0開始支援NHibernate持久化技術,其位於單獨的程式集中,更多資訊參加Readmore
What's available?
下表總結了哪些是可以獲得的,以及如何配置他們:
InMemory |
RavenDB |
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的預設配置採用的是何種持久化技術。 此外,你可以覆蓋這些預設的配置,如何覆蓋參考
下表總結了應用在內建的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翻譯之持久化技術(三):Using RavenDB In NServiceBus – Connecting持久化
- NServiceBus翻譯之持久化技術(二):Using RavenDB In NServiceBus – Installing持久化
- NServiceBus翻譯之持久化技術(四):How To Debug RavenDB Through Fiddler Using NServiceBus...持久化
- NServiceBus翻譯之Hosting(一):The NServiceBus Host
- NserviceBus翻譯之FAQ:MsmqTransportConfig配置項MQQT
- NServiceBus之GateWayGateway
- Redis 持久化(persistence)技術口袋書Redis持久化
- Redis 持久化(Persistence)Redis持久化
- Akka 系列(七):Actor 持久化之 Akka persistence持久化
- SOA、ESB、NServiceBus、雲端計算 總結
- NServiceBus 更換服務名及佇列名稱佇列
- 技術分享 | Redis 持久化之 RDB 與 AOFRedis持久化
- Android持久化技術Android持久化
- 淺談技術翻譯
- [翻譯自官方]什麼是RDB和AOF? 一文了解Redis持久化!Redis持久化
- 英語翻譯之閒聊也是一門藝術
- Redis_RDB持久化之寫時複製技術的應用Redis持久化
- SAP 電商雲 UI State persistence 狀態持久化設計的入口 - initSyncUI持久化
- 術語翻譯
- 谷歌揭祕自家翻譯系統:如何利用AI技術提高翻譯質量谷歌AI
- 跨越專業翻譯的語言之牆:百度翻譯的技術攀登
- 英文翻譯之女友太漂亮,感情難持久
- redis 之 持久化Redis持久化
- Redis之持久化Redis持久化
- MFC 技術注意第62條的翻譯 (轉)
- 通過翻譯技術部落格學習的一些體會
- 關於專案中NServiceBus和MEF注入(WCF服務代理失效)的兩個問題
- 利用MSMQ傳送訊息(物件)到NServiceBus終結點(不採用Send-Only方式)MQ物件
- 【Zookeeper】原始碼分析之持久化(一)之FileTxnLog原始碼持久化
- 原創和翻譯技術書的優劣勢
- Redis 持久化之 AOFRedis持久化
- redis持久化之AOFRedis持久化
- 『徵文精選』技術翻譯與術語管理技術:專業人說專業話
- Guava翻譯之SmallFunctionGuavaFunction
- Java Nested Classes(內部類~第一篇英文技術文件翻譯)Java
- Redis高可用詳解:持久化技術及方案選擇Redis持久化
- OpenCV持久化(一)OpenCV持久化
- Hibernate註解(一)之持久化實體持久化