NServiceBus翻譯之持久化技術(二):Using RavenDB In NServiceBus – Installing

小弟季義欽發表於2013-08-18

Last Updated: Apr 04, 2013 12:38PM IDT

NServiceBus中預設的持久化技術是RavenDB3.0,NServiceBus授權許可RavenDB用於你的終結點的儲存,不過僅限於NServiceBus相關的資料,比如saga,subscription等,假如你想要儲存應用程式相關的資料在RavenDB中,那麼你需要購買一個單獨的授權。

假如你計劃使用預設的儲存,那麼你需要確保你的終結點上有可以連線的RavenDB在執行,有兩種方式可以達到這個目的。

1.Downloadand installRavenDB your self

2.LetNServiceBus do it for you

假如你已經在用RavenDB,或者你有其他的特定的需求,那麼你就採用方式1.

#2 Auto installation by NServiceBus ofRavenDB

RavenDB已經被包含在NServiceBus binaries中了,NServiceBus有一個基礎設施安裝器installers,如果你啟用這個安裝器,那麼它可以確保RavenDB被安裝在本地機器上。

僅當下列要求符合,那麼你的安裝才是有效的:

1.Ravenpersistence is configured for the endpoint

2.A customconnection string is not specified by the user

3.The currentendpoint has no master node specified

4.Port 8080 isavailable

5.Raven is notalready installed

6.The installis done using the explicit /installInfrastructure

#3 對於第三點解釋如下: 如果有master節點被定義,那就是在告訴NServiceBus所有的資料都儲存在server端。 這就意味著我們期望RavenDB伺服器執行在遠端機器上,而不是本地機器(你執行這個installer的機器)上。

備註:意思就是如果你配置了master節點,那麼你也就沒必要安裝RavenDB了,這是我(譯者)的理解。

(2013-8-21補充,我之前的一個AsA_Server/Client終結點執行在客戶端,啟動的時候老是報RavenDB連線的錯誤,然後我就想,TM這個終結點是執行的客戶端的,我不能讓每個客戶都去裝RavenDB吧,就算有資訊要存也要存在伺服器端吧,然後就想解決這個問題,我的執行在客戶端的終結點程式本身也不需要使用RavenDB。 後來我發現啟動引數裡面竟然填了NServiceBus.Master,然後我將它去掉,就好了!!!!)

(如果還是不行,就再配置檔案中配置MasterConfig,設定master節點為伺服器上執行的終結點的地址,當然這個伺服器中還是必須要安裝RavenDB)

對於如何管理和操作RavenDB伺服器的指令,請參考RavenDB的文件:http://ravendb.net/docs/server/administration

Upgrading RavenDB

如果要升級RavenDB,那麼你需要做以下步驟:

1.Back up yourRaven database

2.Shut down theRavenDB service

3.Replace thebinaries with the ones in the /Server folder in the download

4.Make sure tonot replace the Raven.Server.exe.config if you have modified it

5.Restart theRavenDB service

Which versions of RavenDB is compatible

NServiceBus 3.X is tested and compatiblewith all RavenDB from version 616 up to 992. It has also been testedagainst RavenDB v2, so it is also a supported setup.We stronglyrecommend that you run your NServiceBus endpoints against 992 since it hasbetter support for transaction recovery.This versioncan be downloaded here:

RavenDBServer - 992

相關文章