1,微服務的優缺點數據庫
微服務的解決的問題,緩存
吞吐量,易擴展,小模塊的快速開發,解決單點故障多。架構
缺點,併發
單個請求的反應時間變長,須要經過rpc調取多個下游服務。運維
部署整條鏈路複雜,排錯,定位問題複雜。異步
架構邏輯複雜。分佈式
2,分佈式一些難點微服務
1,容易出錯,因此須要把錯誤當成正常邏輯,寫在代碼裏。能處理的,不能處理的拋給調用方,能夠忽略的忽略掉。具體狀況,具體分析。日誌
2,監控和全鏈路追蹤日誌,須要能快速定位問題,解決問題,須要平時作演練。隊列
3,須要自動化運維。
3,分佈式保持數據一致性問題
著名理論cap 數據一致性,可用性,分區容忍性。p是必須按,c和a二選一。
若是作到數據強一致性,須要分佈式鎖,分佈式事務,保證數據一致性,錯誤回滾。上下游冪等。加鎖期間,服務不可用。
若是強可用性,數據是最終一致性。這時候異步處理,通常須要消息隊列,數據庫,緩存等。
保證數據一致性,上游重試,加下游冪等。事務保證錯誤回滾。
4,數據庫主從不一致怎麼處理
1,拆庫拆表,下降併發。
2,增長緩存,減小數據庫訪問。
3,強制讀主庫。
4,其餘從數據庫主從原理方面考慮了。