接下來想介紹的也是後端的資源
分散式投票
https://thesecretlivesofdata.com/raft/
在ddia中有提到說,如果需要做master/replica的話,會有多個主機彼此要資料同步,但如果master有狀況的時候,這些replica就會從中挑選一台晉升為master,而這個狀況要怎麼進行,就會有一個重新選舉的行為
而這個網頁就是在介紹其中一種投票的方式,看完這個網頁,會更了解這些分散式的運作方式,如果有時候系統出現狀況,也讓自己多一個相關的知識點可以去排除錯誤
系統設計
https://www.educative.io/courses/grokking-modern-system-design-interview-for-engineers-managers
https://www.amazon.com/byte-go-system-design/s?k=byte+byte+go+system+design
下面這兩個資源應該是目前如果要學習系統設計,最推薦的兩個資源了
無論是要面試,增加知識,或是真的遇到需要實作的時候,有個可以參考的架構
但這兩個資源我覺得擇一來看就可以了,因為內容大同小異,然後關於grokking,網路上其實蠻多課程來源的,不一定要用我貼上的這個連結來訪問的
另外,bytebytego如果覺得看完他的書還不夠的話,他也有提供電子報的服務,每週他都會寫一些技術的更深入介紹的文章,讓你可以漸漸的學到更多的資訊,就看大家有沒有興趣了
系統重構及Design Pattern
https://refactoring.guru/
這個網頁將目前比較常見到的幾種design pattern以及重構的手法都用各種語言的範例程式碼來介紹給大家看
雖然內容比較簡短,但該講的都有講到
在什麼樣的壞味道下應該可以用什麼樣的手法去解決他,有哪些的tradeoff,我也覺得是個很棒的學習資源