前言:微服務中經常會出現在資料庫事務中呼叫遠端服務,由於遠端服務超時而拉長事務,導致資料庫癱瘓的情況,因此在事務處理過程中,禁止執行可能產生執行緒阻塞的呼叫,例如:鎖等待、遠端呼叫等。
開發中,特別是微服務架構,事務要盡可能保持短事務,乙個事務中最後不要有太多的操作,長時間操作事務會影響或堵塞其他的請求,累積可造成資料庫故障,同一事務中大量的資料操作會引起鎖的範圍和影響擴大,易造成資料庫的其他操作阻塞而導致短暫的不可用。
因此,要盡可能用短事務來代替長事務,降低事務執行時間,減少鎖的時長,使用最終一致性來保證資料的一致性原則
微服務的資料庫設計
微服務設計的乙個關鍵是 資料庫設計,基本原則是每個服務都有自己單獨的資料庫,而且只有微服務本身可以訪問這個資料庫。它是基於下面三個原因。理想的設計是你的資料庫只有你的服務能訪問,你也只呼叫自己資料庫中的資料,所有對別的微服務的訪問都通過服務呼叫來實現 請參閱 微服務之間呼叫的最佳設計 當然,在實際應...
資料庫事務 學習筆記
系統又出現,使用者的錢給多扣了,庫存莫名給多了幾個。進銷存出現的問題還是比交多的,看了很長時間都沒有找到解決辦法,依稀記得之前去面試的時候面試官問到過我回滾的問題,當時沒有回答好,回想常去面試一下也好。今天去學習了一下資料庫事務的一些知識。總結一下 乙個簡單的例子。1 通過事務執行轉賬 約束是金額不...
微服務搭建資料庫系統
資料訪問層是微服務系統中比較重要的一環,怎樣通過 springboot 搭建資料庫環境,單資料來源與多資料來源的比較與實現方式,以及怎樣結合 mybatis 不僅能夠實現自動實現資料庫表與實體類 dao 層的自動生成,還能夠實現動態資料來源訪問等。多資料來源中常用到的核心技術。那麼,通過本場 cha...