mysql讀寫分離時如果單台寫庫也無法滿足性能怎麼解決,是用多台數據庫來寫嗎?那怎麼做資料同步保證資料一致性?
你可以試試緩存,後台設定資料入庫的時候,直接設定到redis裡面,然後再去同步資料庫。前台取資料的時候直接去redis裡面拿。個人建議,僅供參考
redis
當讀寫分離都無法滿足效能時,通常用水平分割來解決:
主1 - 从1.1、从1.2、从1.3 主2 - 从2.1、从2.2、从2.3 ...
另外,讀寫分離無法保證資料一致性,例如用戶剛註冊完就去登錄,如果登錄讀的是從庫,那麼當用戶剛註冊完就去登錄,但註冊資料還來不及同步到從庫時,登入就會失敗。
反而單純的水平分割不會有資料不一致的問題,因為一條用戶資料總是落在一個分區裡的。
你可以試試緩存,後台設定資料入庫的時候,直接設定到
redis
裡面,然後再去同步資料庫。前台取資料的時候直接去redis
裡面拿。個人建議,僅供參考當讀寫分離都無法滿足效能時,通常用水平分割來解決:
另外,讀寫分離無法保證資料一致性,例如用戶剛註冊完就去登錄,如果登錄讀的是從庫,那麼當用戶剛註冊完就去登錄,但註冊資料還來不及同步到從庫時,登入就會失敗。
反而單純的水平分割不會有資料不一致的問題,因為一條用戶資料總是落在一個分區裡的。