天天看點

開始啟航:Redis中國使用者會(CRUG)首次常委會召開 選出主席和校長

日前,redis中國使用者會(crug)首次常委會正式召開,本次會議選舉出新浪微網誌進階dba張冬洪為主席、阿裡雲資料庫進階專家蔡松露為中國使用者會技術大學校長。

redis中國使用者組成立于今年5月20日,是由阿裡雲、新浪微網誌、唯品會、去哪兒等redis一線工程師聯合發起的非營利性技術組織。該組織希望通過吸引redis愛好者加入,進而推動redis技術在中國的更多交流和應用。

包括阿裡雲、新浪微網誌、去哪兒、唯品會、明趣科技等公司參加了12月4日在北京召開的redis中國使用者會(crug)首次常委會。除了上述選舉外,還選出常委委員長王義成(阿裡雲資料庫産品專家)、副主席強昌金(去哪兒進階dba)、許瑞(唯品會進階架構師 ),以及技術大學副校長李強(北京明趣科技有限公司技術合夥人)。

對于redis在國内的使用情況,redis中國使用者會技術大學校長蔡松露在接受雲栖社群采訪時介紹到,redis在國内的使用非常普遍,不僅包括bat、微網誌、搜狐、小米、唯品會等,創業的網際網路公司幾乎也都選擇redis。

“redis比較簡單、高效、穩定、可靠,好用且易用,而且redis在國内的生态也不錯。根據網上公開的文檔和方案就能夠快速地bootstrap搭建起一套環境,是以redis在國内獲得了極大的繁榮。”

繁榮背後也有些問題。蔡松露稱,redis之前沒有推出叢集版,導緻很多公司都在做同樣的事情。代表性的有大名鼎鼎的開源産品codis,也有bat、微網誌、唯品會等自主研發——然而原理卻類似的叢集方案。有的為了解決大容量冷資料的問題,還引入了rocksdb、leveldb等存儲引擎用于底層存儲,直到社群推出3.2版本,才有了官方的叢集模式。

很多公司對redis的掌控力也不同。大公司投入多,掌控力相對強一些,甚至能夠修改源碼,給出自己的解決方案;中型的公司使用比較熟練,能夠自主搭建和維護;一些小公司也在自主搭建和維護,但是相對吃力一些,在遇到一些問題時,往往一籌莫展,網上也不一定能找到對應的文檔和解決方案。

是以在redis布道上,蔡松露打算聯合國内社群的力量,把之前松散的東西整理歸攏,比如常見問題和解法、行業解決方案&代碼示例、原理和代碼分析、優化方向&方案等,然後以系列文章、視訊或直播的方式呈現給大家。“這些笨笨的髒活累活做好了,播種、鋤草、施肥、澆水後,花自開。”他說,想法比較簡單,但也許最奏效。

談到未來,蔡松露認為redis在國内會一直繁榮昌盛。尤其是随着雲計算的發展——很多雲計算公司也将redis的相關産品對外輸出,幫使用者降低很大維護成本的同時,也會進一步促進redis生态發展。

最後,蔡松露也解釋了“主席”和“校長”、“常委會委員長”的職責:

1.主席:任職期間負責社群整體發展規劃。包括不僅限于組織技術分享、社群年會、兄弟組織交流等。

2.校長:任職期間需要負責redis技術普及和發展方向引導。包括但不限于技術分享選題稽核、精尖技術交流分享等。

3.常委會委員長:組織常委會正常召開和建立社群基金會,負責社群收支等。

<b>【附錄】獨家專訪:中國使用者會(</b><b>crug</b><b>)技術大學校長蔡松露</b><b> </b>

<b>雲栖社群:作為</b><b>redis</b><b>中國使用者會技術大學校長,打算從哪幾個方面做好</b><b>redis</b><b>在國内的布道?</b><b></b>

<b> </b>

蔡松露:校長職位既是一種鼓勵也是一種鞭策,我本身比較擅長做技術,那我也希望能夠将這個職位和我擅長的東西相結合——以技術為切入點。

當然不會去做什麼天馬行空高大上的東西,之前也提到了大家在使用redis的時候遇到了一些問題,卻苦于沒有現成的文檔和解決方案;而且有時候方案選型也比較困惑,不知該如何抉擇;甚至有的使用者可能就是入門小白,就想知道redis能解決什麼和如何解決他的業務問題。

是以我的想法比較簡單:聯合整個國内社群的力量把之前比較松散的東西整理歸攏一下,比如常見問題和解法、行業解決方案&amp;代碼示例、原理和代碼分析、優化方向&amp;方案等等,然後把這些東西以文章、視訊或者直播的方式呈現給大家,管道包含但不局限于部落格、微網誌、微信、直播平台等。

做這些的目的是希望既能解決大家的問題,也能讓大家像打怪一樣成長,從小白開始看進階文章視訊,有了些積累後看看原理和代碼,積累比較多之後再回饋社群,形成一個比較良性的循環。

是以我覺得最開始就把這些笨笨的髒活累活做好就好了,播種鋤草施肥澆水花自開,當然做這些事情是需要所有人一起參與建設,你我都是參與者之一,是以也希望大家以後多多支援。

<b>雲栖社群:就你接觸到的來看,國内對</b><b>redis</b><b>有哪些認知誤區?并請分析下誤區的産生原因?</b><b></b>

<b>蔡松露:</b>最大的一個誤區我覺得就是認為“redis比較簡單,不會出問題”,redis确實設計理念&amp;使用都比較簡單,代碼量也就幾萬行,但其實坑也比較多。

比如fork在極端條件下需要double記憶體、斷網導緻的全量同步、keys或者flushall指令導緻server hang死等問題。尤其是當資料量大、通路量大、部署環境比較複雜、使用不當的時候更容易出現這些問題,而且新出的redis cluster方案,又新加了很多元件,也使得沒有之前看上去那麼簡單,平時還是需要不斷地投入人力來保證穩定性。

我甚至接觸過一些比較大型的公司也是因為對源碼沒有掌控力而出過大故障,是以我覺得這裡最大的一個誤區就是把設計理念&amp;使用方式簡單和穩定性&amp;可維護性混淆了。誤區産生的原因也很簡單,就是沒有把所有的坑摸完。

<b>雲栖社群:上半年,</b><b>redis</b>

labs<b>宣布了一個新的</b><b>redis</b><b>擴充方式:</b><b>redis</b>

module systemw<b>,有人稱這将有助于</b><b>redis</b><b>發展為一個生态體系,你是怎麼看的?</b><b></b>

<b>蔡松露:</b>我覺得創始人的話已經說得夠明白了,這裡引用一下:

"it is not possible to cover every vertical use

case with just the redis core. now, thanks to redis modules, an ecosystem of

diverse solutions can flourish.

the guaranteed api and binary compatibility with

future versions of redis, allow developers to invest in and benefit from, the

creation of new redis functionality.

while lua scripts provide a level of flexibility,

redis modules offer increased sophistication with access to low level redis

capabilities, allowing new commands to be developed easily."

簡單翻譯一下就是redis module能夠提供比lua更為low-level的資料通路和操作方式,而且module這種抽象能夠發揮大衆的力量,讓每個人都能按照這個标準來提供不同的計算能力,如文本搜尋、圖像處理、權限認證等。

我個人覺得這是一種能力的釋放,能夠讓更多人參與進來,整個生态也會更加完善,就像python一樣,有人負責維護虛拟機,有人負責寫擴充,各司其職

<b>雲栖社群:你對當下的最新版本</b><b>3.2.5</b><b>怎麼看?對</b><b>redis</b><b>未來的功能演進有什麼建議或期待?</b><b></b>

<b>蔡松露:</b>redis 3.2最大的特點就是支援redis cluster,這是redis一個重大的裡程碑,是一件值得肯定的事情,終于結束了redis沒有叢集方案的時代。

帶來的問題就是redis cluster實作還是比較複雜的,而且對運維人員的要求也比之前要高,之前運維人員面對的是個單點問題,現在完全是分布式問題,這點可能略讓大家吃不消。

redis cluster的另外一個問題就是生态還不算完善,smart client的支援也還太少,而且以前的很多坑也依然存在,如記憶體double、aof load過久、flushall hang機等問題。當然很多坑都在redis 4.0中都填了,是以redis 4.0也是一個非常值得期待的版本。

其實redis 4.0版本的很多功能在redis 2.x時代就有很多公司已經解了,但是很遺憾的是沒有參與到社群建設之中,當然原因也有很多。如果這些功能能夠提早貢獻給社群,大家也就不用等待那麼久了,redis版本疊代應該也會快很多,是以希望未來還是能緊跟社群,在開源上多做貢獻,也期待redis在國内越來越好。

繼續閱讀