首先,數據庫切分有兩種:水平切分、垂直切分。
水平切分就是橫向擴庫或擴表,利用DB路由或者table路由查詢查詢。google有個hibernateShards,這裏沒什麼可說。阿里還有自己的DDAL框架Amoeba。
垂直切分就是把不同的業務放到不同庫中,業務切分、系統解耦、分佈式事務。複雜的業務涉及到數據同步問題,我們大量即時數據採用共用內存緩存達到數據實時讀取的目的。
今天用戶抱怨我們上傳圖片不如阿里快,其實分佈式緩存GFS,Google就是行業老大,GFS、bigtable都是響噹噹的巨牛應用。
其實想法誰都有,高性能的實現還是一個長久和高深的技術能力問題。
今天還學到一個不錯的網絡架構CDN(內容分發網絡),沒想到我們既然沒有用它,照成南北服務器訪問不均衡,用戶使用不同運營商訪問速度不一樣。唉,是不是這玩意貴啊。
路漫漫其修遠兮吾將上下而求索。