閒話淘寶網和新浪微博架構

banq發表於2011-08-25

如今分散式系統在國內已經不是新鮮事,NoSQL之花遍地開,我08年就詛咒的關聯式資料庫雖然僵而不死,但其已經威力和影響力已經日漸式微,至少沒有完全佔據新興需求市場。

淘寶網和新浪微博我都有使用,雖然深知其中架構之路坎坷,但今天寫這個閒話不是誇耀追捧,而是作為一個懂行的使用者如何從使用者體驗角度來感知其技術架構特點:

淘寶網和新浪微博兩個有明顯極端:前者比較注重資料的及時更新,也就是高一致性,寫入提交很快,但是讀取資料時會丟丟拉拉;後者則相反,讀取相當快,但是提交微博或評論等寫入動作時卻經常停頓延遲甚至失效。

從業務上講,淘寶網確實是電子商務系統,和錢打交道比較多,好像這很符合關聯式資料庫的高一致性要求,實際上,如果對業務進行細分,電子商務系統中高一致性要求範圍比較小,按照ebay架構來看,約佔據10%不到。如果不對自己的業務應用進行領域量化切分,會將高一致性擴大化,造成的表現就是寫資料很快,讀資料慢甚至無反應。

而新浪微博則是一個社群系統,根據其業務模型,好像幾乎不需要高一致性,但是如果也不對業務進行領域切分,那麼一致性將會丟失,甚至影響可靠性,微博使用者可以忍受讀不到資料,但是不能忍受無法寫入資料,甚至提交微博時要再三確認,雖然一條廢話沒有存錢那麼重要,但是要讓使用者自己去確認是否寫人,這樣使用者體驗真的很差。

總之,技術架構是一種平衡,只有對業務進行細膩的領域切分,才能真正做到有的放矢,技術架構還要擺脫自己屁股的影響,特別是過去的豐富關聯式資料庫經驗會培養人一種沒有意識到慣性思維,從而讓自己的腦袋無法真正做到平衡決策。

最後,衷心希望兩家先驅者能夠更上一層樓,利用良好寬鬆的資本環境,將業務分析方法引入技術架構,沒有通用架構,只有合適的架構,合適與否取決於你對業務模型的透徹認識。

[該貼被banq於2011-08-25 10:17修改過]

相關文章