分布式系統優化的思路


方向一: 盡可能減少跨機間的網絡傳輸量,盡量優化傳輸耗時.
原因是1G帶寬下傳輸1M耗時20微妙, 而鎖操作一次25ns,兩者有1000倍的差距,在分布式環境下,網絡傳輸會成為性能瓶頸. 在處理分布式事務時更明顯.

優化方法有:
方法一:通過同步復制, 將跨機操作轉為本機操作,即將跨機的數據拷貝到 機器本地去處理.
把跨機器的join操作,通過將小表復制到大表所在機器,將跨機器的join操作轉換為本機join.
這里的復制是增量進行的,會有延遲,如果業務可以接受,這是一個不錯的方案. 這樣,下一次如果再需要join,則可以直接在大表機器上完成本地join.

方法二:將跨機的計算下沉到各子節點本地,節點之間只傳輸各自處理結果,主節點合並結果.
與這種方式對應的是 主節點從各子節點收集需要處理的數據,在主節點完成數據處理和合並, 問題就是 主節點和子節點間的數據傳輸量太大.

方法三:將跨機的事務拆分為多個本機事務,通過消息中間件串聯.
想辦法把一部分跨機操作轉成本地操作,然后通過其它方式串聯.

方法四:萬兆網卡,純粹的加速傳輸速度.

方向二:查詢優化 (不考慮cache)

方法一:建議都帶sharding key來查詢
方法二:建冗余表, 方便查詢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM