拓元售票公司總經理邱光宗表示,臺灣的銀行平均收單速度最多可以到75筆資料,但仍遠低於拓元每秒數百筆訂單的交易速度。

圖片來源: 

iThome

從五月天、金馬影展,甚至到張惠妹、江蕙演唱會門票的搶票問題,一直是許多熱門活動承辦人員的最痛,如果是超商的ibon搶票,等著下班的店員和其他現場拿號碼牌排隊的民眾,就是等著現場ibon機臺搶票民眾最大的對手;而網站搶票,更因為售票網站設計不良,瞬間湧入的購票流量,形成類似DDoS(分散式阻斷式)攻擊,癱瘓售票網站的正常服務。日前在12分鐘內賣出12萬張張惠妹演唱會門票的拓元售票公司總經理邱光宗,近日在Modern Web研討會上,首度揭露拓元售票系統的雲端架構。

邱光宗表示,目前臺灣售票最大的問題在於網站架構和金流問題,就算網站撐得住大規模的流量,但金流收單付款上,還是有其限制。因此,他說,拓元在處理張惠妹演唱會的售票時,便透過事前的沙盤推演,把每一個環節可能會發生的意外或者是服務中斷的部份,清楚定義後,也把解決問題的SOP(標準作業程序)也清楚明定出來,不論哪個環節出錯,就照著SOP快速解決問題即可。

邱光宗說:「最後出錯的環節就是收單刷卡掛點,許多消費者無法結帳。」因此,就照著原訂的SOP計畫,先「確認票務資料庫正常」後,便保留原本搶到票券訂單的資格,將有付款問題的票券批次轉虛擬付款帳號並公告 ,只要消費者在指定時間內完成付款手續,即可保留該票券資格。

但是,邱光宗也很清楚的意識到,未來所有的售票系統最大的考驗在於,人人都用智慧型手機作為標準的終端設備來購票時,售票系統如何撐過開賣瞬間湧入的購票流量,而後端金流機制也能跟上爆量交易需求,將是臺灣未來各種秒殺售票服務的最大挑戰。

從網站售票到ibon售票

臺灣的網路售票早在1996年的年代售票系統開始,當時1萬張票券可以在4~6小時內銷售完畢。而從2000年開始,邱光宗表示,拓元售票最大的法人股東拓連公司便開始做網站、資料庫、接專案、營運商城和提供售票服務,像是金馬影展官網到現在都還是拓連負責維運。成立於2007年的元氣娛樂主要是負責ibon的售票系統,由於統一超商在2008年開始普設ibon機臺,也讓ibon成為標準的售票端末系統。

在這個過程中,拓元售票一路從拓連公司到元氣娛樂提供售票服務過程中,都遇到一些挫折,也帶來秒殺售票系統的轉型。

邱光宗表示,最早從2003年提供常態性的售票服務開始,網路使用者都透過Web平臺存取售票資料庫系統,當時,只能增加實體的網路伺服器,以避免資料庫被打掛,所以,如何維持售票資料庫不當機,則是維持售票服務正常化的重要任務。但到了2007年,因為網站存取負載過大,所以,拓元售票系統開始第二次轉型,在原本Web和資料庫系統中間,多加了一層的API架構,分散網站存取資料庫的負載。

2009年ibon開始提供售票後,拓元啟動了第三次轉型,因為當時無法面對從網路上來的購票流量,所以改透過超商內部網路來進行票券銷售。邱光宗表示,比網際網路上的流量,透過內網傳輸的流量就易預測和管控,再加上ibon全臺數量最多不超過5千臺。不過,消費者雖然可以在有遮風避雨的地方買票,卻也衍生出不少問題,除了排隊占ibon機臺外,甚至還曾因為ibon系統爆量的售票交易流量,反而影響了超商POS機的正常運作,導致POS當機無法結帳,當時也有許多消費者,因為超過預定的付款時間,原本的票券失效得重新購票。不過,邱光宗指出,在系統的調整後,在2011年ibon售票也完成10萬張演唱會票券,在1小時內完售的新目標。

第四次轉型,打造雲端售票系統

這段時間內,行動裝置的普及以及雲端服務的興起,帶來拓元售票系統第四次轉型。2008年,亞馬遜雲端服務AWS的流量已經超過Amazon.com和Google;在2014年,行動裝置的數量更正式超過桌上型電腦,所有服務已經到了必須正視行動網路需求的時刻。

在面對20萬人上線搶12萬張票的同時,拓元至少得讓20萬人上得了售票網站,不僅要短時間內銷售完畢,也必須讓消費者保留選擇的可能性,所有的售票伺服器資料隨時同步備份,邱光宗說:「讓每個人同時上網搶票是最公平的,也可以杜絕黃牛票。」所以,拓元選擇AWS的EC2,目標是能開多少臺虛擬伺服器,就先開多少臺,以張惠妹演唱會售票來說,就開了1,300臺左右。

不過,要因應秒殺搶票的關鍵問題是,如何處理大量使用者大量連線的記錄,拓元使用亞馬遜DynamoDB取代了原有的MySQL資料庫,先將登入使用者的資料存入資料庫後,再往後將資料拋轉以API接手處理。不過,因為開啟伺服器還是需要時間,便參考模擬以及過往經驗,事先算好要開啟的虛擬機器數量,不用優化、直接啟用即可。

透過API拋轉處理的資料再經過亞馬遜的負載平衡設備(Elastic Load Balancing,ELB)進行分流後,再行匯入拓元自己的票務資料庫。邱光宗表示,因為要保留消費者選區選位的即時性,前後端資料庫間,目前還有30~60秒資料無法同步的情況,未來還尋找其他服務來解決。

邱光宗表示,開賣前10分鐘需先檢查虛擬伺服器的數量是否足夠。開賣前1分鐘時,他們則密切觀察使用者連線(Session)情況。但在開賣後3分鐘時,發現金流出了問題,無法收單刷卡。也因為事先已有沙盤推演,所以,拓元遂按照SOP於開賣後10分鐘改用其他方法來解決收單刷卡的問題,順利在開賣後15分鐘賣出所有票券,並對外公告部分無法完成結帳的票券,提供虛擬帳號付款方式給民眾補繳費。等到繳費期限過後,最後再將少數未付款的座位釋出銷售。

他指出,目前拓元的票務系統每秒可以處理200~300筆訂單,系統採取優化措施後,每秒更可以處理500筆以上的訂單;但目前,臺灣銀行收單速度,「每秒只能處理30筆資料,採取一些作法來優化時,每秒可以處理75筆資料。」因為銀行收單與票券訂單處理速度有極大落差。未來,邱光宗計畫透過網站前端介面的導引,來延長訂單送到收單銀行的處理時間,再搭配ATM虛擬帳號收單,並限制1小時繳款期限,以兼顧票券銷售速度和金流處理速度的兩難議題。

拓元雲端票務系統架構示意圖

 

熱門新聞

Advertisement