日前,Redis中國用戶會(CRUG)首次常委會正式召開,本次會議選舉出新浪微博張冬洪為主席、阿里云數據庫高級專家蔡松露為中國用戶會技術大學校長。
Redis中國用戶組成立于今年5月20日,是由阿里云、新浪微博、唯品會、去哪兒等Redis一線工程師聯合發起的非營利性技術組織。該組織希望通過吸引Redis愛好者加入,從而推動Redis技術在中國的更多交流和應用。
包括阿里云、新浪微博、去哪兒、唯品會、明趣科技等公司參加了12月4日在北京召開的Redis中國用戶會(CRUG)首次常委會。除了上述選舉外,還選出常委委員長王義成(阿里云)、副主席強昌金(去哪兒)、許瑞(唯品會),以及技術大學副校長李強(明趣科技)。
對于Redis在國內的使用情況,Redis中國用戶會技術大學校長蔡松露在接受CSDN采訪時介紹道,Redis在國內的使用非常普遍,不僅包括BAT、微博、搜狐、小米、唯品會等,互聯網創業公司幾乎也都選擇了Redis。
“原因是Redis比較簡單、高效、穩定、可靠、好用且易用,而且Redis在國內的生態也不錯。根據網上公開的文檔和方案就能夠快速地Bootstrap搭建起一套環境,所以Redis在國內獲得了極大的繁榮。”
而繁榮背后也有些問題。蔡松露稱,Redis之前沒有推出集群版,導致很多公司都在做同樣的事情。代表性的有大名鼎鼎的開源產品Codis,也有BAT、微博、唯品會等自主研發——然而原理卻類似的集群方案。有的為了解決大容量冷數據的問題,還引入了RocksDB、LevelDB等存儲引擎用于底層存儲,直到社區推出3.2版本,才有了官方的集群模式。
很多公司對Redis的掌控力也不同。大公司投入多,掌控力相對強一些,甚至能夠修改源碼,給出自己的解決方案;中型公司使用比較熟練,能夠自主搭建和維護;一些小公司也在自主搭建和維護,但是相對吃力一些,在遇到一些問題時,往往一籌莫展,網上也不一定能找到對應的文檔和解決方案。
因此在Redis布道上,蔡松露打算聯合國內社區的力量,把之前松散的東西整理歸攏,比如常見問題和解法、行業解決方案&代碼示例、原理和代碼分析、優化方向&方案等,然后以系列文章、視頻或直播的方式呈現給大家。“這些笨笨的臟活累活做好了,播種、鋤草、施肥、澆水后,花自開。”他表示,想法雖然比較簡單,但也許奏效。
談到未來,蔡松露認為Redis在國內會一直繁榮昌盛。尤其是隨著云計算的發展——很多云計算公司也將Redis的相關產品對外輸出,幫用戶大幅降低維護成本的同時,也會進一步促進Redis生態發展。
后,蔡松露也解釋了“主席”、“校長”,和“常委會委員長”的職責:
【附錄】獨家專訪:中國用戶會(CRUG)技術大學校長蔡松露
CSDN:作為Redis中國用戶會技術大學校長,打算從哪幾個方面做好Redis在國內的布道?
蔡松露:校長職位既是一種鼓勵也是一種鞭策,我本身比較擅長做技術,那我也希望能夠以技術為切入點將這個職位和我擅長的東西相結合。
當然不會去做什么天馬行空高大上的東西,之前也提到了大家在使用Redis的時候遇到了一些問題,卻苦于沒有現成的文檔和解決方案;而且有時方案選型也比較困惑,不知該如何抉擇;甚至有的用戶可能是入門小白,就想知道Redis能解決什么,以及如何解決他的業務問題。
所以我的想法比較簡單:聯合整個國內社區的力量把之前比較松散的東西整理歸攏一下,比如常見問題和解法、行業解決方案&代碼示例、原理和代碼分析、優化方向&方案等,然后把這些東西以文章、視頻或直播的方式呈現給大家,渠道包含但不局限于博客、微博、微信、直播平臺等。
做這些的目的是希望既能解決大家的問題,也能讓大家像打怪一樣成長,從小白開始看進階文章視頻,有了些積累后看看原理和代碼,積累比較多之后再回饋社區,形成一個比較良性的循環。
所以我覺得開始就把這些笨笨的臟活累活做好就好了,播種鋤草施肥澆水花自開,當然做這些事情是需要所有人一起參與建設,你我都是參與者之一,所以也希望大家以后多多支持。
CSDN:就您所接觸到的來看,國內對Redis有哪些認知誤區?并請分析下誤區的產生原因。
蔡松露:大的一個誤區我覺得就是認為“Redis比較簡單,不會出問題”,Redis的設計理念&使用確實都比較簡單,代碼量也就幾萬行,但其實坑也比較多。
比如fork在極端條件下需要double內存、斷網導致的全量同步、keys或flushall命令導致server hang死等問題。尤其是當數據量大、訪問量大、部署環境比較復雜、使用不當的時候更容易出現這些問題,而且新出的Redis Cluster方案,又新增了很多組件,也使得其沒有之前看上去那么簡單,平時還是需要不斷地投入人力來保證穩定性。
我甚至接觸過一些比較大型的公司也是因為對源碼沒有掌控力而出過大故障,所以我覺得這里大的一個誤區就是把“設計理念&使用方式簡單”同“穩定性&可維護性”混淆了。誤區產生的原因也很簡單,就是沒有把所有的坑摸完。
CSDN:上半年,Redis Labs宣布了一個新的Redis擴展方式:Redis Module Systemw,有人稱這將有助于Redis發展為一個生態體系,對此您是怎么看的?
蔡松露:我覺得創始人的話已經說得夠明白了,這里引用一下:
“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一樣,有人負責維護虛擬機,有人負責寫擴展,各司其職。
CSDN:您對當下的新版本3.2.5怎么看,對Redis未來的功能演進有什么建議或期待?
蔡松露: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在國內越來越好。
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。