陌陌CTO李志威:GoRedis介紹
作者:韓蕊
2014年7月25-26日,由51CTO傳媒主辦的全球軟件技術(shù)峰會(huì)WOT(World Of Tech)在北京富力萬(wàn)麗酒店召開(kāi)。在下午的數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用專(zhuān)場(chǎng),陌陌CTO李志威為來(lái)賓帶來(lái)題為《GoRedis》的精彩演講
2014年7月25-26日,由51CTO傳媒主辦的全球軟件技術(shù)峰會(huì)WOT(World Of Tech)在北京富力萬(wàn)麗酒店召開(kāi)。秉承專(zhuān)注技術(shù)、服務(wù)技術(shù)人員的理念,自2012年以來(lái),WOT品牌峰會(huì)成功舉辦了三屆,積累了大量的技術(shù)專(zhuān)家資源,獲得了廣大IT從業(yè)者和技術(shù)愛(ài)好者的一致認(rèn)可,成為了業(yè)界重要的技術(shù)分享交流平臺(tái)以及人脈拓展平臺(tái)。
本次會(huì)議分為8個(gè)技術(shù)主題,分別是:數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用,互聯(lián)網(wǎng)架構(gòu)分析,高效的技術(shù)團(tuán)隊(duì),敏捷開(kāi)發(fā),實(shí)時(shí)計(jì)算與數(shù)據(jù)分析,移動(dòng)應(yīng)用,自動(dòng)化運(yùn)維,開(kāi)源技術(shù)。51CTO作為本次峰會(huì)的主辦方,將全程視頻、圖文直播報(bào)道這場(chǎng)數(shù)據(jù)的盛宴。
在下午的數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用專(zhuān)場(chǎng),陌陌CTO李志威為來(lái)賓帶來(lái)題為《GoRedis》的精彩演講。
李志威表示,陌陌是一款基于LBS的移動(dòng)應(yīng)用。通過(guò)陌陌可以認(rèn)識(shí)身邊的人,可以認(rèn)識(shí)身邊的人;加入附近的群組;查看附近的留言;參加附近的活動(dòng)。還可以和朋友交換各自的地理位置,用有趣的表情聊天等等。截止到2014年6月30日,陌陌總注冊(cè)用戶(hù)數(shù)1.48億,月活躍用戶(hù)數(shù)5243萬(wàn),群組總數(shù):356萬(wàn)。
GoRedis是根據(jù)RocksDB,用Go語(yǔ)言編寫(xiě)的高效RedisServer,借助SSD可以實(shí)現(xiàn)海量數(shù)據(jù)存儲(chǔ),并提供非常高的讀寫(xiě)性能,目前已在陌陌內(nèi)部大范圍替代Redis。李志威很謙虛的表示,GoRedis雖然不能解決所有的問(wèn)題,但是因?yàn)榛赗ockDB,可以在節(jié)省內(nèi)存的同時(shí),實(shí)現(xiàn)數(shù)據(jù)安全持久化、快速啟動(dòng)、增量同步等特性。
Goredis 特性,基于RocksDB,具有“零”內(nèi)存,數(shù)百萬(wàn)Field的Hash,幾千萬(wàn)Member的Sorted Set都不會(huì)消耗額外的內(nèi)存。我們有詳細(xì)的數(shù)據(jù)報(bào)告,來(lái)表示性能的提升。在陌陌中大量使用Redis。Redis可以實(shí)現(xiàn)快速啟動(dòng),沒(méi)有類(lèi)似的Reload RDB的過(guò)程,可以快速啟動(dòng)實(shí)例。
增量同步,Redis主從情況下,從庫(kù)斷開(kāi)后不會(huì)全量同步。
MultiAlaveOF,一個(gè)Redis可以同時(shí)作為多個(gè)Redis的從庫(kù),實(shí)現(xiàn)集群備份。
完善日志,為DBA提供完善的各類(lèi)日志輸出。
其適用的場(chǎng)景有,海量數(shù)據(jù)存儲(chǔ);安全數(shù)據(jù)存儲(chǔ);節(jié)省內(nèi)存。而且在性能測(cè)試中,它的表現(xiàn)一直很好。
GoRedis可以解決很多Redis無(wú)法做好的事情,比如,增量同步。
SNAPSHOT指令。Master先把完整的數(shù)據(jù)快照發(fā)送給Slave;然后把實(shí)時(shí)指令,以及序號(hào)SEQ實(shí)時(shí)發(fā)送給Slave,這樣就可以實(shí)現(xiàn)同步了。Slave這就是我們實(shí)現(xiàn)通過(guò)的過(guò)程。
我們做這個(gè)是為了向云靠攏的,所以還要降低運(yùn)維成本。掌握的信息越多,我們就越能夠快速定位問(wèn)題所在。所以這時(shí)候日志就顯得更加重要,我們可以通過(guò)指令來(lái)定位問(wèn)題。
除了日志,我們還使用擴(kuò)展指令??梢詫?shí)現(xiàn)更多實(shí)用功能。
還有一些擴(kuò)展指令,還可以滿足我們的需求。這樣可以把整個(gè)數(shù)據(jù)結(jié)構(gòu) 但是這個(gè)程序有很多風(fēng)險(xiǎn)。
用AOF指令,即使出現(xiàn)災(zāi)難性的數(shù)據(jù)損壞也是可以恢復(fù)的。它還有Cache模式。這也可以做海量存儲(chǔ)。
另外,還可以進(jìn)行二次開(kāi)發(fā),這樣就可以擴(kuò)大它的應(yīng)用場(chǎng)景,這樣它就可以適用更多開(kāi)發(fā)語(yǔ)言。
責(zé)任編輯:林琳
來(lái)源:
51CTO