建立分散式且具有ㄧ致可靠的特性服務,以 golang 爲編程語言,循序介紹 coding 時需注意的 data race、data transaction、lock,以及架構上 two-phase、CAP 、BASE的設計如何滿足實務需求。
最後提供簡易的CI/CD教學,讓團隊開發可以自動化且持續針對code進行檢驗,與保持風格上的一致。
昨天看過 race condiction 的情況後,我們了解了 mutex.Lock 與 channel,可以幫助我們同步 memory 狀態,避免發生奇怪的資...
關於 sync/atomic 是於 go@v1.14 才推出的新東西,筆者也是最近才知道有這個包可以使用。Atomic 目標在一些單純的操作上,完成最小原子性操...
為了讓我們可以快速獲得乾淨的測試資料庫,與後續 Go Distributed at Kubernetes,於此開始介紹一些關於容器的概念。希望能夠幫助一些對於環...
本日文章內容目標能讓我們了解,Dockerfile 撰寫的格式與啟動的效果,並且使用 docker-compose 啟動多個 containers,並建立兩個...
依據進度我們要進入實做的部分了,昨天的 docker-compose,剛好幫我們建立了一組 slave-master MySQL database,今天將利用昨...
為了保持我們的資料能正確的寫入與正確的不寫入,今天我們要來了解一下 transactions 是怎麼運作的,以及如果沒有實作 transactions 會發生怎...
是的,我們今天要來討論一下 Redis 的 transaction。我們知道 Transaction 要嘛全執行要嘛全不執行,Redis 在 2.2 之後提供了...
會有快取的需求是來自於使用者,對相同資料目標進行大量讀取,為了降低 RMDBS 連線數量與 RMDBS 的實體資源,所產生出來的架構策略。今天我們要來實作 ca...
我們前面花了一些時間了解 golang 的基本用法,以及資料一致性的重要性,並且在上一篇中討論到多 server 快取資料可能發生的狀況,其中在多 server...
今天介紹一下以 golang 為主編程語言,建立當前最知名的容器管理服務 — Kubernetes。我們在上一篇已經簡單的敘述過,服務是如何演進成分散式服務,而...