1. 程式人生 > >mssql資料庫,資料庫同步,分散式資料庫,資料庫叢集,如何實現

mssql資料庫,資料庫同步,分散式資料庫,資料庫叢集,如何實現

由於專案需要,產品的部署必須考慮到安全和災難的解決辦法.由於之前一直做的的小專案,基本都是單伺服器,單資料庫結構,但是由於一次災難,把這個問題提上了日程.

    本人資歷淺薄,很多東西還不是很熟悉,最近在網上百度了一大堆相關的東西,基本有了大概的思路,

    思路就是,
      1..用多個伺服器做叢集,做壓力負載均衡,這樣第一可以分流,減輕每個伺服器的壓力,提高穩定性,再者就是,一個伺服器崩潰了,其他伺服器可以繼續執行.提供服務.

      2..做檔案同步式,自動把多臺伺服器上的一些特殊資料夾做檔案同步,比如一些圖片資原始檔,靜態的html.這樣一臺伺服器做更新,其他伺服器可以同步更新,並且,使用者上傳的檔案也同步在每個伺服器上,即使部分伺服器崩潰了,保證使用者的使用不受影響.

      3.就是難住我的了,也就是資料庫叢集,或叫資料庫同步,不知道專業學名是什麼,反正我要實現的功能就是,有多個數據庫伺服器,這些資料庫上的內容是完全相同的,不同來源的訪問可能會被分配到不同的資料庫上.當我對A1資料庫,新增,修改,刪除的時候,其他所有的資料庫同步更新,應用程式在執行的時候,會被自能解析到壓力最小的資料庫伺服器上,當一個數據庫伺服器掛了的時候,它對應的程式就轉移到別的資料庫伺服器上,但是關鍵是,資料不能丟失,即使那個伺服器的硬碟燒掉了,之前的資料也不能丟失.

      我查到mssql有資料庫同步的功能,但是有一個大問題就是,當2個人同時對2個數據庫進行新增操作的時候,會生產2個同樣的自增長id,這樣2個伺服器就發生了併發的衝突.導致資料出現了不一致.這個問題很致命.

源地址:http://bbs.csdn.net/topics/390080620