訪蘑菇街:自建存儲系統后為何還要選用第三方云存儲?
蘑菇街早期主要為女性導購平臺,在為廣大女性提供有效信息的同時,也為各大電商平臺帶去精準的流量。但隨著電商綜合平臺流量入口的關閉和移動端的發展,蘑菇街成功轉型女性垂直電商,深受1.3億女性用戶的喜愛,成為大家眼中最受親睞的“時尚買手街”。如此強勁的發展勢頭,讓蘑菇街在資本寒冬之際,一舉拿下金額超過2億美元的D輪融資,并于近日宣布與另一女性快時尚電商平臺“美麗說”合并。事實上,蘑菇街不僅頁面清麗、內容時尚前衛,骨子里,它其實是一家科技型公司。
導購轉型電商的背后是靈活變通的技術策略
蘑菇街2013年底開始從導購平臺轉向電商平臺,在轉型的過程中,業務發展迅猛成為團隊關注的焦點,而技術層面,他們考慮的更多的便是如何能支撐起業務的快速發展。
電商平臺涉及交易、支付等功能,對業務數據的及時性要求和系統穩定性要求很高。而蘑菇街團隊不論是從最初的開源工具的使用、改造,還是到后續開源軟件無法達到系統要求時對系統的自我研發,甚至自建了存儲系統、CDN管理系統。在滿足業務發展的道路上,蘑菇街技術團隊的每一步都走得非常扎實。
但電商平臺與導購平臺不同的地方在于:
一方面,電商平臺的圖片文件會更多,每張圖片都會涉及壓縮、多種格式、不同分辨率等。尤其圖片的各種轉碼方面,需求非常大,傳統的做法是讓后臺運維工程師將圖片所需要的規格都列出來,上傳全部圖片后再進行轉化。當圖片有改動時,運維人員再遍歷所有圖片,生成一個新規格。這時,運維人員的工作量很大,也需要大量存儲空間。在移動互聯網時代,用戶的移動設備種類繁多,屏幕分辨率不一致,就需要越來越多的規格,隨之而來的工作量和存儲壓力也會越來越大。
另一方面,電商的訪問量及并發量很高,導致帶寬占有高,從而對存儲的空間要求更大。隨著用戶量的不斷增長,數據的存儲和處理問題也越來越凸顯。然而,在業務快速發展面前,技術也需要以同樣的速度予以支撐。這時侯,如果技術上面全部考慮自建,除建設周期較長外,還會耗費團隊很大精力和巨額資金成本。
那么,蘑菇街的技術團隊應該用何種方法應對產品及業務的快速變更呢?
在想到用第三方存儲服務作為應對方案后,蘑菇街技術團隊開始了調研工作,但那時,成熟的云存儲方案商卻寥寥可數。在功能需求、成立時間、技術積累及口碑等多方面因素的綜合對比下,最終,七牛以穩定可靠的性能,圖片處理API全面及快速的文件上傳下載而贏得了蘑菇街技術團隊的青睞。為了對七牛進行性能和壓力測試,蘑菇街技術團隊精心設計了壓力測試程序,并選取了線上小部分流量進行測試,從各項數據指標來看,七牛表現非常穩定。于是,蘑菇街正式將大量圖片數據遷移到七牛平臺。
七牛提供圖片實時轉碼功能,能實時擴展一種新的圖片規格,并且將轉碼生成的新規格圖片放在七牛提供的緩存層供App調用,不用占用存儲空間。這種服務器端只需存儲一份原圖,其他規格實時生成且不占用存儲空間的機制,能幫助蘑菇街節省大量的存儲成本,同時用戶體驗也能得到很好的提升。
此外,七牛對于客戶的反饋處理非常及時。蘑菇街技術負責人蘇武回憶道,“蘑菇街平臺上圖片的分辨率達幾百種,最開始使用七牛時,七牛的分辨率支持一百多種,所以蘑菇街無法進行更多分辨率的添加,于是我們將該問題反饋給了七牛,七牛這邊響應很快,可以算是立即修改,立刻使用”。
成熟一體化源站解決方案的應用
圖片相關的很多數據均具有價值,因此,蘑菇街自己也會對圖片相關數據進行一些處理。所以,他們會備份一份全量的數據,方便其內部程序使用內部的存儲。例如,團隊內部對圖片的處理、一些圖片算法工程、鑒別廣告及對圖片上某些對電商有影響的算法的預演等。同時,他們也使用了七牛的一體化源站解決方案。
即針對圖片存儲,大的網站都會做多機房的冗余,使用七牛,蘑菇街可以在自己的主機房里做一份備份,其它的數據全部存儲到七牛,由七牛的多副本機制保證蘑菇街數據的完整性,降低成本,并自然地達到多機房冗余技術方案的效果。
在該方案中,七牛的“鏡像存儲”服務有著非常重要的作用。蘑菇街利用鏡像存儲功能,可以非常簡單地把源站數據被動同步到七牛對象存儲平臺。被動同步即只有在資源被訪問時,七牛才會回源站獲取一次,此后對該資源的訪問都不會再發生回源動作,而是直接從七牛對象存儲平臺拿到數據。如果七牛對象存儲平臺上沒有用戶需要讀取的數據,則七牛的服務器會從蘑菇街源站拉取資源,再返回給終端用戶。
此外,使用第三方云服務還能使產品的整個技術架構可以平衡擴展,輕松應對流量爆發或者其它的突發性事件。對于電商平臺來講,各種促銷活動以及“雙十一”則是蘑菇街需要打的另一場技術硬仗。在“雙十一”這天,蘑菇街承擔的壓力和流量是平時的幾十倍甚至幾百倍,如果為了雙十一采購過多的機器,等到雙十一結束時又會造成該批機器的閑置。使用七牛云存儲服務則能保證其彈性伸縮及按需付費,從容應對突發業務的流量,同時還避免了技術及成本上的資源浪費。
事實上,蘑菇街轉型電商平臺以來,由于七牛云存儲的彈性擴容特質,即使在雙十一當天流量暴增的情況下,用戶的訪問速度也很快,體驗很好,也并沒出現任何意外。
至今,蘑菇街已使用七牛近四年,在這段時間里,七牛滿足了蘑菇街圖片存儲、處理、CDN回源等功能需求,為蘑菇街省下了不少成本。未來,蘑菇街技術團隊的關注點不會變,將繼續修煉內功,以穩定支撐蘑菇街的業務發展,做到系統、能力及資源三方面的平衡,同時加強技術與人才方面的儲備。