1
我正在爲RavenDB(服務器和客戶端3.0)設置一個複製和故障轉移項目,現在我正在使用副本數據庫進行測試。RavenDB故障轉移方案。如何知道實際的服務器?
故障轉移行爲很簡單:我有兩個服務器,一個8080,一個在8081的配置基本上是這樣的:
store.FailoverServers.ForDatabases = new Dictionary<string, ReplicationDestination[]>
{
{
"MyDB",
new[]
{
new ReplicationDestination
{
Url = "http://localhost:8080"
},
new ReplicationDestination
{
Url = "http://localhost:8081"
}
}
}
};
故障切換運作良好,我試圖關閉(第一臺服務器(即DocumentStore配置中使用的服務器)),第二臺服務器按預期響應。
我想知道的是:有沒有一種方法可以理解當前故障切換服務器對查詢做出的響應?如果在會話中,我嘗試導航DocumentSession屬性(如session.Advanced.DocumentStore.Identifier),但找不到對第二個服務器的引用,但我只看到第一個引用,即用於配置的引用。
我錯過了什麼嗎?
感謝您的答覆Ayende,我想這一點,但我可以從ReplicationInformer看到我沒有什麼是實際服務器的簡單信息(s)在使用中,我只得到失敗的服務器failureCounts。那是對的嗎?同樣在ReplicationDestinations上,我只能看到輔助服務器(即使它處於關閉狀態)。 – tanathos 2015-02-23 16:46:10
您將獲得複製目標以瞭解輔助節點,並且主節點是存儲上定義的任何節點。然後你可以使用'ShouldExecuteUsing'方法得到我們將要使用這個節點的任何東西。 – 2015-02-24 18:51:03