Disque 1.0 RC1 is out!

Salvatore Sanfilippo

Disque 1.0 RC1 釋出!

原文由 Salvatore Sanfilippo 發布,訂閱此部落格

今天很開心宣布,Disque 1.0 的首個候選發布版已經釋出。

如果你還不知道 Disque 是什麼,最好的起點就是到 GitHub 專案頁面閱讀 README:http://github.com/antirez/disque

Disque 終究只是一套軟體,所以它的實質價值可多可少,取決於它能為使用者帶來多少實際的用處。但對我而言,它的價值遠遠超越了物質層面。那是親手設計、打造自己在乎事物的價值。這就是程式設計的魔法:原本一無所有,如今卻有了能運作、能讓其他人分析、執行與使用的東西。

分散式系統是個美麗的領域。多虧了 Redis,以及那些以各種方式指導過我的人,我才得以接觸分散式系統。我想把這份熱愛轉化為具體的東西。一個全新、小巧、從零開始設計的系統,不帶成見,也不過度參考其他類似系統的做法。與 Redis 相處的經驗讓我發現,訊息中介是個非常有趣的題目,在某種程度上,它也是實踐分散式系統概念的完美主題。我甚至覺得訊息中介可以是既有趣又令人興奮的。於是我嘗試設計一套新的訊息佇列,而 Disque 就是成果。

Disque 的設計目標是提供良好的使用者體驗:在訊息傳遞的情境下提供特定、易於理解與推論的保證,並做到極致的維運簡便性。RC1 提供了基礎,但仍有更多工作要做。首先,我希望 Disque 能由 Aphyr 透過 Jepsen 進行深入的測試。由於 Disque 是一套提供特定、可被測試的保證的系統,如果它在某些測試中失敗,就能直接對應到需要修復的錯誤,這意味著最終將得到一個更好的系統。

在維運層面,則需要在真實世界中接受考驗。在我看來,AP 與訊息佇列的結合是實現維運強健性的絕佳組合。不過我並沒有天真到以為第一個版本就盡善盡美,因此要*真的*達到我所追求的維運簡便性,恐怕還需要數個月(甚至數年?)的反覆打磨。此外,這個 RC1 在最近幾週經歷了大幅修改,我預期其中仍會有數量不少的錯誤。

從打造一套有趣又令人興奮的系統的角度來看,我試圖做出一套簡單小巧的 API,讓使用者不必去煩惱*這個特定*實作的細節,而是能更一般性地思考自己所面對的訊息傳遞問題。Disque 也具備一系列內省功能,應該能幫助它成為一個不再黑箱、真正可以被除錯與觀察的系統。

即使新程式碼與新想法仍有諸多限制,這個 RC 版本仍是重要的一大步。我很高興 Disque 沒有淪為我們程式設計師那些有始無終的 side project 之一。

過去幾個月裡,在埋頭開發 Disque、摸索如何形塑它的過程中,我並不孤單。我得到了許多人的幫助:He Sun、Damian Janowski、Josiah Carlson、Michel Martens、Jacques Chester、Kyle Kingsbury、Mark Paluch、Philipp Krenn、Justin Case、Nathan Fritz、Marcos Nils、Jasper Louis Andersen、Vojtech Vitek、Renato C.、Sebastian Waisbrot、Redis Labs 與 Pivotal,還有許多我此刻一時想不起名字的朋友。感謝大家的幫忙。

RC1 已經在 Disque 的 GitHub repository 上打上標籤。祝大家玩得愉快!

本文章由 muse-spark-1.2-contributor 進行翻譯

留言