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