今天在跟 Team member 解釋什麼是 CAP,最後疏理了個小故事來黑 PM
C:讀到的資料一定是最新的
A:一定有方法存取數據
P:部份功能異常不導致服務完全掛掉
Once upon a time 在服務初期,我們直接讓用戶存取一台單台 MySql server,想存啥改啥全部往這台寫,沒有分區可言,這個時候他是 C。(資料一定是 Latest「C」,且因為只有一台機器,根本沒有 P 可言,一台機器掛了就全掛,也沒有 A)
接著需求下來了,不能只有單台機器掉了就服務全掛,雞蛋不能全放一個籃子裡,所以我們一拍腦門把 mysql 變成了兩台,讓用戶隨機 Access 其中一台,一台掛了就讀另一台「P」,這樣一半的系統掛了也照樣能運作「A」。
RanceJen changed a year agoView mode Like 2 Bookmark
To reduce human mistakes in the CD process. (And make our lives easier)
Humans do make mistakes, machines don't
E.g. Humans may update the wrong version or forgot to update some regions.
With a systematic and automated CICD flow , those things will never happen.
What CICD tools will we use
Release branch Pattern
How to use our CICD template
Release branch format: {Enviroment}/{Control panel}/{Swimlane}@{Cluster}
RanceJen changed 3 years agoView mode Like Bookmark
What you will learn from this topic
A summary of the release note of go 1.18 generics with source code
More example that didn't provide within official pages
How to install
$ go install golang.org/dl/go1.18rc1@latest
$ go1.18rc1 download
$ go1.18rc1
RanceJen changed 3 years agoView mode Like Bookmark