KKTIX 技術現況 2015/01
KKTIX 是 KKBOX 的售票平台。對我來說,一個好的售票平台,應該是消費者與主辦單位之間無形的線,不但協助主辦單位舉辦活動更順利,也讓消費者能夠輕鬆無痛地買到票……
後記:我在 2015/10 離開 KKBOX 了,這篇文章保留當時的個人感想。
KKTIX 是 KKBOX 的售票平台。對我來說,一個好的售票平台,應該是消費者與主辦單位之間無形的線,不但協助主辦單位舉辦活動更順利,也讓消費者能夠輕鬆無痛地買到票。
KKTIX 目前有 iOS/Android 版本,以及桌面/行動版網頁。我們的行動裝置瀏覽量一直大於 50%。
如果你在台灣購買過演唱會票券,大概會發現這些既有售票平台/通路的問題:
不管是網站還是超商機台,熱門演出場次只要一開賣就當機。不但消費者把排隊跟當機當成家常便飯,主辦單位/售票系統也都習慣成自然,反正票遲早會賣得完。
就算你選好座位看到訂單,還不保證座位是你的。如果有其他人選到相同的座位,比你早繳費,你的訂單就失效了。某些售票系統會出現以下警語:
將座位放入購物車並不代表已訂購完成,需以信用卡結帳後才完成交易訂單!如訂購過程中有其他人選擇相同座位,並提前完成結帳,則您結帳時將會顯示座位已售,請重新選擇其他座位,謝謝!
系統陳舊,漏洞百出。明明是金流交易網站,有些連最基本的 SSL 都沒有。更有趣的小細節請見戴夫寇爾《從寬宏售票談資安》一文。
都 2015 年了,為什麼明明人手一台行動裝置,我們卻要在難以操作的超商機台前面排隊?
我們有自信能夠提供更好的選擇。
截至今日,我們做了以下的努力:
我們做了許多次「同時開賣 10 場小巨蛋 120000 張票」的壓力測試。當 10 場同時開賣搶票的狀況下,系統每秒可以處理 400 筆劃位訂單。假設每張訂單有 4 張票,每分鐘約可以處理 10 萬張劃位票券。也就是說我們可以在 2 分鐘內完售 10 場小巨蛋。目前我們還沒有用到資料 sharding 技術,所以其實還有調整空間。不過以目前需求是足夠了。
我們使用了 Akamai CDN 以及各種 cache 技術,如果消費者沒有進入購票流程,他對系統的衝擊是非常小的。
當消費者選好票券數量,進入購票流程之後,這些票在一段時限內會保留給這位消費者。他有充足的時間可以選擇座位、填寫資料。如果目前所有票券都暫時被保留的時候,其他消費者沒有辦法進入購票流程。
KKTIX 有即時選位的機制(專利申請中),消費者選定的座位,其他人是不能選擇的。因此我們不會像其他售票系統,在消費者選擇好座位,心滿意足地按下確認按鈕後,告訴他「座位已經被選擇了」,然後把他踢回第一步重新開始。如果你有在玩線上遊戲的話,概念上就是大家在同一個區域,資訊共享的狀況。
我們花了數個月,完善設計了動態自動配位的演算法。KKTIX 會在消費者選好票券數量後,自動分配當下最好的座位。在上萬人一起搶票的狀況下,如果系統提供的結果夠好,消費者就不需要自己選擇。
KKTIX 目前使用 Amazon 的 AWS 雲端服務,我們有成熟的 auto scaling/scheduling 技術,可以根據用量需求自動開關機器,而不是花好幾百萬的預算把機器開一整天。售票要面對的其實是瞬間流量,而不是整日流量。如果你看到某某售票說他們「單日最高可以提供超過幾千萬人次的流量」,顯然他們對於售票一點概念都沒有,或是假設消費者一點概念都沒有 ☺
當消費者看到訂單之後,座位已經保留給他了。消費者只要在主辦單位指定的期限內繳費完成即可,不用搶著掏出信用卡或飆車去便利超商繳費。
希望我們做的這些努力,能夠讓消費者在 2015 年獲得更好的購票體驗,讓主辦單位能夠安心專注在表演本身,而不是讓大家繼續在超商機台前面苦等。
至於黃牛問題,我十分同意拓元售票邱光宗先生在吹音樂專訪說的「防堵黃牛最好的方法其實就是讓所有人都能很快買到票」。在售票規則不改變的前提下,讓所有消費者在相同的起跑線上、有相同的購票機會,是比較公平的方式。
下一篇再來談談黃牛,以及 KKTIX 的努力方向吧 ☺
延伸閱讀:
戴夫寇爾:《從寬宏售票談資安》
Disclaimer: I am Director of KKTIX, the online event registration service from KKBOX, the best platform to find and organize events. Opinions are my own and not the views of my employer.