當前位置:吉日网官网 - 傳統故事 - Java互聯網架構——微服務架構如何解決跨數據庫問題的思路和解決方案。

Java互聯網架構——微服務架構如何解決跨數據庫問題的思路和解決方案。

我們公司用的是微服務加分表。壹般來說,如果應用系統存在性能瓶頸或者業務代碼耦合過重,可以考慮使用微服務架構,而後端數據庫通常采用讀寫分離、雙主備用或者子數據庫子表來提高數據服務的性能和高可用性。

數據分布在不同的數據庫服務器上帶來良好性能的同時,新的問題也隨之而來,如數據壹致性保證、性能監控、復雜的數據訪問等。,而且比較突出的問題是數據跨庫!數據分布在不同的節點上,導致原來的連接查詢跨數據庫,難以保證字段主鍵的唯壹性,跨數據庫事務復雜。下面壹壹解答:

1,連接問題:由於庫表分布在不同的機器上,連接查詢無效。

解決方案:

(1)代碼求解:哈希某個字段劃分數據庫和表,保證它落在壹個庫中的相似表中(比如aa_00.t_user_0000和aa_00.t_member_0000),然後根據這個規則在代碼中編寫連接查詢語句!

②同步:將常用和需要的字段同步到壹個庫中,以便聯合查詢!

(3)冗余:壹個數據庫中連接查詢需要更多字段的冗余,保證所有數據都能被查詢!

2.唯壹主鍵:如果使用傳統的自增方式,多個數據庫中的主鍵id必然會重復,所以需要控制唯壹性!

解決方案:UUID(根據機器ID,時間等。)、redis(單線程保證不重復)、雪花算法!

3、分布式事務:

1,TCC:try控制業務代碼流程,確認交易的正確性,取消失敗的交易!

2.基於消息系統的壹致性方案:單節點事務完成後,通過發送消息提交事務,如果失敗,可以通過重試和任務補償來保證數據壹致性!

總的來說,分布式系統有很多過去沒有的問題,需要具體分析,大家可以壹起交流,分享更多的技術,敬請關註。。。

  • 上一篇:兒童故事,簡筆畫,圖片,圖片,圖片。
  • 下一篇:關於新年的祝福語有什麽
  • copyright 2024吉日网官网