Go劍復國-30天導入Golang Day30 從 PHP 重構為 Golang 經驗談

進到了最後一天,剛好『雙11』結束沒多久,在『雙11』當天,台灣兩大購物平台紛紛掛點。那剛好敝公司也有類似的經驗,那今天就來談談,我如何重構敝公司的系統優化,把原本的 php 重構成 golang,改善瞬間流量的問題。 ...

2018-11-12 · 4 分鐘

Go劍復國-30天導入Golang Day29 如何設計一個非阻塞式的扣款系統

我相信在很多系統上,很多效能瓶頸會在 database ,尤其是一些帳戶系統,如果無法解決扣款時 ACID 的相關議題,那壓力其實最終都會壓在 database 的單點上,在敝公司設計這相關系統時,我使用了另一個方式來做設計。當然下面介紹的東西,要用其他語言實現也不是不行,不過敝公司是選擇使用 golang 實現就是了。 ...

2018-11-11 · 2 分鐘

Go劍復國-30天導入Golang Day28 使用 Docker build 一個 Golang image

在這個 k8s 當道的時代,任何東西都要 container 化,當然我們也稍微介紹一下,如果用 Docker 編譯 golang image 。 ...

2018-11-11 · 1 分鐘

Go劍復國-30天導入Golang Day27 如何在 Golang 嵌入 lua

今天來介紹一個比較特別的應用,就是如何在 golang 使用 lua ,這種的應用場景通常會在一個固定流程裡面,但裡面有不同的商業邏輯,用 OOP(Object-oriented programming) 的 pattern 來解釋就是所謂的工廠模式,裡面產生的東西會有不同的邏輯,那些邏輯很適合用 lua 去寫。 ...

2018-11-10 · 2 分鐘

Go劍復國-30天導入Golang Day26 Golang Concurrency Pattern

在前面有介紹過了 golang 的重點之一 goroutine ,golang 的設計讓 concurrency 非常容易,但是大家有沒有想過,goroutine 也不是什麼黑科技,最終電腦還是有所謂的 CPU & MEM 上限,所以也就意味著 goroutine 不能無窮無境的開,那今天就來討論 Concurrency Pattern,到底該如何設計。 ...

2018-11-09 · 2 分鐘

Go劍復國-30天導入Golang Day25 Golang 如何設計一個 buffer pool

今天要進到比較理論的章節,也是比較難解說的部分,如果有什麼疑問或寫錯的地方,歡迎留言指教我。 ...

2018-11-08 · 2 分鐘

Go劍復國-30天導入Golang Day24 Golang 如何建構一個 websocket server

今天要來介紹,如何用 golang 做一個 webosocket server 的相關應用。我個人沒有使用 golang 原生的 webscoket,而是用我前面一直有介紹到的 gorilla 團隊做的 gorilla/websocket, 他一樣有符合我的原則,而且沒有太多的依賴,非常適合拿來當個應用的基礎 package 。 ...

2018-11-07 · 2 分鐘

Go劍復國-30天導入Golang Day23 Golang 如何使用 redis

今天要進入到,web屆,講到快取一定會提到的 redis 。 redis 真的是一種通用武器,不管你後端用什麼語言,還真沒看過沒人不會用 redis ,那當然我們就要介紹一下 redis 的基礎使用。 ...

2018-11-06 · 2 分鐘

Go劍復國-30天導入Golang Day22 Golang 如何使用 mysql

再來我們來介紹,如果要做 web 相關應用服務,免不了一定有 database 相關需求,我們就以 mysql 當做例子,作為今天主題 ...

2018-11-05 · 2 分鐘

Go劍復國-30天導入Golang Day21 Golang 如何使用 grpc

我們今天來介紹,一個新的 protocal grpc,它是基於 protobuf 這個由 google 推出來,號稱比 json 更方便、更快速、更簡短的一種溝通格式。 ...

2018-11-04 · 2 分鐘