iT邦幫忙

鐵人檔案

第 12 屆 iThome 鐵人賽
回列表
Software Development

Go Distributed & Go Consistently 系列

建立分散式且具有ㄧ致可靠的特性服務,以 golang 爲編程語言,循序介紹 coding 時需注意的 data race、data transaction、lock,以及架構上 two-phase、CAP 、BASE的設計如何滿足實務需求。

最後提供簡易的CI/CD教學,讓團隊開發可以自動化且持續針對code進行檢驗,與保持風格上的一致。

DAY 1

Day1 系列文結構介紹

前言 HiHi~時隔多年又回來參賽拉,本次希望已經涉入軟體系統開發的工程師可以從此系列文中得到一些想法,也希望還沒應用到分散式架構或對一致性不太了解的朋友,可以...

2020-09-09 ‧ 由 weiweiwesley 分享
DAY 2

Day2 Data consistency

會選擇在 distributed(分散式)之前先討論 consistency(一致性),是由於如果我們的分散式系統所提供的服務無法保有一定程度的正確性的話,不論...

2020-09-10 ‧ 由 weiweiwesley 分享
DAY 3

Day3 CAP 定理

Consistency(一致性), Availability (可用性), Partition Tolerance(分區容忍性) 組成 CAP 定理,在前一文中...

2020-09-11 ‧ 由 weiweiwesley 分享
DAY 4

Day4 Why Go

先前幾天介紹 data consistency 的部分,是希望我們可以謹記資料對系統的重要性,從今天開始我們要進入用 golang 搭建 server 的實作部...

2020-09-12 ‧ 由 weiweiwesley 分享
DAY 5

Day5 Basic Go (Install & GOPATH)

來個快速安裝吧 官網下載安裝檔執行 加入你的 .bashrc or .zshrc # GOPATH export GOROOT="/usr...

2020-09-13 ‧ 由 weiweiwesley 分享
DAY 6

Day6 Basic Go (GO MODULES)

Go Modules 為了解決 go@1.11 前,程式運行被限制於 GOPATH/src 下相依與編譯問題,套件相依管理 go modules 誕生了。先前提...

2020-09-14 ‧ 由 weiweiwesley 分享
DAY 7

Day7 Basic Go (Run, Syntax, Struct)

在對環境有基本的了解後,我們終於要開始說基本語法拉~如果你是已經使用過 golang 的朋友,今天可以放心跳過這篇惹。今天我們會全速通過 golang所有基本該...

2020-09-15 ‧ 由 weiweiwesley 分享
DAY 8

Day8 Basic Go (Initialize, Scope)

今天我們要回來重新檢視一下 golang 的各種 Scope(作用域),在開始 scope 的說明前還必須提到 golang 程式在 runtime 初始化的順...

2020-09-16 ‧ 由 weiweiwesley 分享
DAY 9

Day9 Goroutine & Concurrency

今天不延用 BasicGo 的標題,並非 Concurrency 很困難,而是他在 golnag 中可以被輕易實踐,反而容易造成初學者的一些困擾與誤解,建議首次...

2020-09-17 ‧ 由 weiweiwesley 分享
DAY 10

Day10 Race Condition

在昨天我們已經看過了 golang 併發的方式,今天我們要來學習如何控制我們的 goroutines。首先我們先來看一下 race condition(或稱da...

2020-09-18 ‧ 由 weiweiwesley 分享