業務中使用分佈式的場景

首先,須要瞭解系統爲何使用分佈式。
隨着互聯網的發展,傳統單工程項目的不少性能瓶頸愈加凸顯,性能瓶頸能夠有幾個方面。
1、應用服務層:隨着用戶量的增長,併發量增長,單項目難以承受如此大的併發請求致使的性能瓶頸。
2、底層數據庫層:隨着業務的發展,數據庫壓力愈來愈大,致使的性能瓶頸。
針對上面兩點,我以爲能夠從兩方面解決。
應用服務層:
應用服務層的解決方案有幾種:
應用系統集羣:
應用系統集羣最簡單的就是服務器集羣,好比:tomcat集羣。應用系統集羣的時候,比較凸顯的問題是session共享,session共享咱們一是能夠經過服務器插件來解決。另一種也能夠經過redis等中間件實現。
服務化拆分:
服務化拆分,是目前很是火熱的一種方式。如今都在提微服務話。經過對傳統項目進行服務化拆分,達到服務獨立解耦,單服務又能夠橫向擴容。服務化拆分遇到的經典問題就是分佈式事務問題。目前,比較經常使用的分佈式事務解決方案有幾種:消息最終一致性、TCC補償型事務、盡最大能裏通知。具體的你能夠參考下這篇博客分佈式事務解決方案
底層數據庫層:
若是系統的性能壓力出如今數據庫,那咱們就能夠讀寫分離、分庫分表等方案進行解決,因爲這方面個人經驗也不夠多,因此,你能夠參考下其餘的一些文獻。
Mycat 數據庫分庫分表中間件 
MySQL高可用讀寫分離集羣redis

相關文章
相關標籤/搜索