高速資料同步伺服器——Doozer

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

昨天在討論平台新架構的時候,還在說要搞個組態管理的服務出來,方便介面的管理。然後今天就看到了這個……人品爆發了嗎?
好吧,不扯淡,直接翻譯 Doozer 的 README 吧。Doozer 我還沒實測,不過感覺,如果真得像 README 上面說得那樣,還是很有用,很有用的。

關鍵——這個玩意提供了 go 的介面。(補充一點,忘了說了,這個是用 go 開發的)
項目代碼託管於此:Doozer。
———————-翻譯分割線———————-

Doozer

這是什嗎?

Doozer 是高可用的,完整一致性的用於小量、極端重要的資料的儲存。當資料變化時,它立刻通知接入的用戶端(不緩衝),對於那些很少更新,但是希望更新發生時即時性高的用戶端來說是非常理想的。Doozer 對於名字服務、主要資料庫選取和多個裝置之間的配置資料同步很適合。瞭解什麼時候應該使用它?下面,有詳細的資訊。

通過郵件清單同其他使用者和開發人員討論 doozer。

快速開始

  1. 下載 doozerd
  2. 解壓縮
  3. 啟動 doozerd
          $ doozerd
  4. 設定一個鍵,然後再讀出來
          $ echo "hello, world" | doozer set /message 0      $ doozer get /message      11046 13      hello, world
  5. 5. 訪問 http://localhost:8080 查看訊息

它是如何工作的?

Doozer 是一個網路服務。一票機器(通常是三、五或七個)每個都運行一個 doozer 服務進程。這些進程使用標準的全一致性分布式完整性演算法進行通訊。用戶端接入一個或多個 doozer 伺服器,發出命令,如 GET、SET 和 WATCH,並且接收響應。

(在這裡插入一個網路結構圖)

每個 doozerd 進程完整的複製一份資料存放區,並且提供讀寫請求;沒有“master”或“leader”的區別。Doozer 被設計為儲存能存放於記憶體的資料;它永遠都不會將資料寫入持久化檔案。一個獨立的工具提供了用於備份和恢複的持久化儲存。

什麼時候應當使用它?

這裡有一些情景:

  1. 名字服務
    有若干機器提供 HTTP 要求的服務。當發生硬體故障,這些機器中的一個壞掉了,你將其替換為另一個網路地址上的新的機器。而由於原有的 DNS 記錄的 TTL 使得用戶端會緩衝一段時間,DNS 資料的更新到達用戶端,可能需要一段時間。
    代替 DNS,可以使用 Doozer。用戶端可以訂閱它們感興趣的名字,然後在這些名字的地址變化時,用戶端會收到通知。
  2. 主要資料庫選取
    部署了 MySQL 系統。為了使其具有高可用性,在另一台物理獨立的機器上增加了一個從伺服器。當主伺服器異常時,可以將某台從伺服器變為主伺服器。在任何時間,用戶端需要知道哪個伺服器是主伺服器,而發生問題的時候,從伺服器之間也需要協調。
    可以使用 doozer 儲存當前主伺服器的地址,以及在發生異常時協調所需要的任何資訊。
  3. 配置
    在多個不同的機器上有一些進程,並且期望它們使用相同的設定檔,這些檔案會不定期更新。所有進程使用相同的配置非常重要。
    將設定檔儲存在 doozer 中,然後讓進程從 doozer 中讀取配置。

我能為這個項目做些什嗎?

參閱協議說明查看命令列表

類似的項目

Doozer 同下面的軟體類似:

* Apache Zookeeper http://zookeeper.apache.org/
* Google Chubby http://labs.google.com/papers/chubby.html

Hacking on Doozer

* hacking on doozer
* 郵件清單

許可證和作者

Doozer 發佈於 MIT 許可證。參閱 LICENSE 瞭解更多資訊。

Doozer 由 Blake Mizerany 和 Keith Rarick 建立。輸入

git shortlog -s

得到完整的貢獻者名單。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.