聽說 kktix 都是用 go 寫的 - modernweb 2015

40
聽說 KKTIX 現在 都是用 Go 寫的 Poga, KKTIX Engineer 前還不是台灣第的售票系統

Upload: poga-po

Post on 06-Aug-2015

17.394 views

Category:

Technology


3 download

TRANSCRIPT

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

聽說 KKTIX 現在 都是用 Go 寫的

Poga, KKTIX Engineer

⺫⽬目前還不是台灣第⼀一的售票系統

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

發放可愛 Gopher 貼紙

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

沒這回事!

其實用了更多 Ruby

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

1.2 > 2 > 3 > 4 > 4.2 不離不棄

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

推不倒之前 要先有人想推倒你

你以為鄉民隨便叫叫就會來嗎

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

Rails 適用的場合

⾦金流

會員登⼊入/登出/OAuth/OTP/...

權限管理

報表

表單、版⾯面...

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

開始有人想推倒你

然後就真的倒了

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

倒站是一時的 改善台灣購票環境是一輩子的!

老闆上台講 Lightning Talk 謝罪

Page 9: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015
Page 10: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015

能用的招都用完了...

當你半夜開始搜尋

「Ruby inline assembly」

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

Why Go?

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

一台打十台!

記憶體用量 1/50、CPU 用量 1/10、啟動速度 10 倍

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

滿足實際需求

快速編譯 = 快速測試 = 快速開發

語法單純 = 減少 bad part、統⼀一 coding style

http://talks.golang.org/2012/splash.article

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

工具鍊完整

go get, go test, go build

主流編輯器皆有成熟支援(Vim, Emacs, Sublime)

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

嘗試成本低cross compile + static binary 容易散佈

適合開發自動化工具

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

每分鐘 25+ 人入場

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

驗票機

Go Backend

Server/Client architecture

go-serial

React.js frontend

from to in 8hr

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

開演前五分鐘 Router 被踢掉!

斷線 10 分鐘 囧

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

But !

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

找人不容易

所以我才會在這阿

找人不容易

找人不容易

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

Dependency Management

Gom

⺫⽬目前採⽤用、類似 Bundler

GoDep

流⾏行、對路徑要求較多

gb

重新打造、不依賴 go tools、不需設定檔

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

Tech Stack 變複雜Operating Cost 難以估算,容易被忽視

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

Operating Cost

基礎建設需⽀支援多種環境

開發、CI、Deploy

商業邏輯重複實做

SOA, microservice 的維護成本

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

聽說 KKTIX 用了很多 Docker

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

效能、開發環境完整、易上手、容易散佈

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

2007

• iPhone ⼀一代發表

• stackoverflow.com 還沒出現

• github.com 隔年才開放

• IE 7 市佔率開始提升,取代 IE6

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

Registrano, 2007

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

你的活動平台

Punch Party, Ruby Tuesday…

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

COSCUP, 2011被推倒了...

Page 30: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015
Page 31: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015

COSCUP, 2012又被推倒了........

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

COSCUP, 2013

\O_O/ 活下來了 \O_O/

Page 33: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015
Page 34: 聽說 KKTIX 都是用 Go 寫的 - ModernWeb 2015

KKTIX 2013~

售票系統風口浪尖

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

即時選位、自動配位

網路不會使人變暴力

Lag 才會

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

We can do better !

2012: …………… 60/min

https://speakerdeck.com/hlb/kktix-de-di-nian

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

We can do better !

2012: …………… 60/min

2013: ………………1800/min

https://speakerdeck.com/hlb/kktix-de-di-nian

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

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

We can do better !

2012: …………… 60/min

2013: ………………1800/min

2014: ………………6600/min

2015: ……………..100000/min

https://speakerdeck.com/hlb/kktix-de-di-nian

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

http://jobs.kktix.cc/