聽說 kktix 都是用 go 寫的 - modernweb 2015
TRANSCRIPT
![Page 1: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/1.jpg)
聽說 KKTIX 現在 都是用 Go 寫的
Poga, KKTIX Engineer
⺫⽬目前還不是台灣第⼀一的售票系統
![Page 2: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/2.jpg)
發放可愛 Gopher 貼紙
![Page 3: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/3.jpg)
沒這回事!
其實用了更多 Ruby
![Page 4: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/4.jpg)
1.2 > 2 > 3 > 4 > 4.2 不離不棄
![Page 5: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/5.jpg)
推不倒之前 要先有人想推倒你
你以為鄉民隨便叫叫就會來嗎
![Page 6: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/6.jpg)
Rails 適用的場合
⾦金流
會員登⼊入/登出/OAuth/OTP/...
權限管理
報表
表單、版⾯面...
![Page 7: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/7.jpg)
開始有人想推倒你
然後就真的倒了
![Page 8: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/8.jpg)
倒站是一時的 改善台灣購票環境是一輩子的!
老闆上台講 Lightning Talk 謝罪
![Page 9: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/9.jpg)
![Page 10: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/10.jpg)
能用的招都用完了...
當你半夜開始搜尋
「Ruby inline assembly」
![Page 11: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/11.jpg)
Why Go?
![Page 12: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/12.jpg)
一台打十台!
記憶體用量 1/50、CPU 用量 1/10、啟動速度 10 倍
![Page 13: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/13.jpg)
滿足實際需求
快速編譯 = 快速測試 = 快速開發
語法單純 = 減少 bad part、統⼀一 coding style
http://talks.golang.org/2012/splash.article
![Page 14: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/14.jpg)
工具鍊完整
go get, go test, go build
主流編輯器皆有成熟支援(Vim, Emacs, Sublime)
![Page 15: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/15.jpg)
嘗試成本低cross compile + static binary 容易散佈
適合開發自動化工具
![Page 16: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/16.jpg)
每分鐘 25+ 人入場
![Page 17: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/17.jpg)
驗票機
Go Backend
Server/Client architecture
go-serial
React.js frontend
from to in 8hr
![Page 18: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/18.jpg)
開演前五分鐘 Router 被踢掉!
斷線 10 分鐘 囧
![Page 19: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/19.jpg)
But !
![Page 20: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/20.jpg)
找人不容易
所以我才會在這阿
找人不容易
找人不容易
![Page 21: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/21.jpg)
Dependency Management
Gom
⺫⽬目前採⽤用、類似 Bundler
GoDep
流⾏行、對路徑要求較多
gb
重新打造、不依賴 go tools、不需設定檔
![Page 22: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/22.jpg)
Tech Stack 變複雜Operating Cost 難以估算,容易被忽視
![Page 23: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/23.jpg)
Operating Cost
基礎建設需⽀支援多種環境
開發、CI、Deploy
商業邏輯重複實做
SOA, microservice 的維護成本
![Page 24: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/24.jpg)
聽說 KKTIX 用了很多 Docker
![Page 25: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/25.jpg)
效能、開發環境完整、易上手、容易散佈
![Page 26: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/26.jpg)
2007
• iPhone ⼀一代發表
• stackoverflow.com 還沒出現
• github.com 隔年才開放
• IE 7 市佔率開始提升,取代 IE6
![Page 27: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/27.jpg)
Registrano, 2007
![Page 28: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/28.jpg)
你的活動平台
Punch Party, Ruby Tuesday…
![Page 29: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/29.jpg)
COSCUP, 2011被推倒了...
![Page 30: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/30.jpg)
![Page 31: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/31.jpg)
COSCUP, 2012又被推倒了........
![Page 32: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/32.jpg)
COSCUP, 2013
\O_O/ 活下來了 \O_O/
![Page 33: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/33.jpg)
![Page 34: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/34.jpg)
KKTIX 2013~
售票系統風口浪尖
![Page 35: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/35.jpg)
即時選位、自動配位
網路不會使人變暴力
Lag 才會
![Page 36: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/36.jpg)
We can do better !
2012: …………… 60/min
https://speakerdeck.com/hlb/kktix-de-di-nian
![Page 37: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/37.jpg)
We can do better !
2012: …………… 60/min
2013: ………………1800/min
https://speakerdeck.com/hlb/kktix-de-di-nian
![Page 38: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/38.jpg)
We can do better !
2012: …………… 60/min
2013: ………………1800/min
2014: ………………6600/min
https://speakerdeck.com/hlb/kktix-de-di-nian
![Page 39: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015](https://reader033.vdocuments.net/reader033/viewer/2022042522/55c2c719bb61eb7a768b458f/html5/thumbnails/39.jpg)
We can do better !
2012: …………… 60/min
2013: ………………1800/min
2014: ………………6600/min
2015: ……………..100000/min
https://speakerdeck.com/hlb/kktix-de-di-nian