聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015

Preview:

Citation preview

聽說 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/

Recommended