分布式數(shù)據(jù)庫 SQLSERVER數(shù)據(jù)雙向同步,該怎么解決?
SQLSERVER數(shù)據(jù)雙向同步,該怎么解決?我們以前嘗試過三種跨機房解決方案:1。機房a定期備份數(shù)據(jù)庫日志,同步到機房B后恢復日志文件,這會導致數(shù)據(jù)庫在高并發(fā)請求時無法恢復,因為數(shù)據(jù)庫中總是有連接的線
SQLSERVER數(shù)據(jù)雙向同步,該怎么解決?
我們以前嘗試過三種跨機房解決方案:
1。機房a定期備份數(shù)據(jù)庫日志,同步到機房B后恢復日志文件,這會導致數(shù)據(jù)庫在高并發(fā)請求時無法恢復,因為數(shù)據(jù)庫中總是有連接的線程,只有被殺死后才能恢復。但是,在kill之后,會有一個新的客戶端連接,因此會導致恢復困難。
2. 使用sqlserver的復制方案,可以發(fā)現(xiàn)跨機房情況下的性能較差。所以放棄吧。
3. 該方法利用程序邏輯隊列進行同步。將a機房的數(shù)據(jù)庫操作文本放入隊列,然后從B機房取出執(zhí)行。該方案中有許多詳細的邏輯問題需要考慮到位,否則在異常情況下可能很難處理。但已經(jīng)使用半年了,比較穩(wěn)定,基本可以實現(xiàn)數(shù)據(jù)庫的及時同步。