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