Re: [請益] 請問寬宏售票為何常當機?

看板Soft_Job作者 (LaPass)時間9年前 (2015/01/06 16:51), 9年前編輯推噓4(405)
留言9則, 9人參與, 最新討論串3/21 (看更多)
: 1. 信用卡付款機制掛了! : 因為人太多交易又太久,假設一筆交易,金流交易銀行至少三個斡旋,要2秒, : 100人瞬間進來,第100人至少等200秒,然後第7個人到100人都以為「當機」了 : ps:2秒看似很久,但是事實上會更久。 我記得這種API都是平行處理REQUEST 應該不會有這種狀況才對 即使是1000人進來應該也是也是只有2秒 不過我也沒親自寫過跟銀行串接的部分 有沒有寫過的人可以講一下這怎麼處理的? 還是銀行API真的有鎖每個帳號在同一時間只能有一人進入付款程序? : 2. 訂位機制很難在網頁呈現,這個位置是不是已經被別人訂走了, : 因為user猶豫的瞬間,假設一秒鐘,已經更新很多次,有7個人定位,有2個人退位。 : 然後user可能重複操作,一次開多個視窗,哭哭XD : Socket 即時我同意~ : 但是顧慮幾件事情 : 1. 每秒同一座位,有n百個人要搶耶~ : 2. 搶位的機制超難搞的,寫在DB裡適當嗎?還是用Memory比較快?這也是問題... : 3. 一人多視窗 : 4. 資料量是 百萬個「對象」 乘以 萬個「座位」 : 等於 : 1. 同1ms裡,有三個人搶位,甲贏了,丙乙搶輸了,這件事情要通知百萬個「對象」 : 2. 這些百萬個「對象」,要等100ms,Server才會主動通知Client, : 為什麼要100ms,等一下說明... : 3. Server要每秒中通知百萬個「對象」,一萬個座位的即時狀況, : 4. Server好累,每秒通知已經超累了 : 5. 就算每秒通知,還是不夠即時。 : 6. Server 還要防止Dos 以及外掛作弊 : 7. 一台Server夠嗎? 分散如何?搶位的機制如何分散? : 分散以後,每台Server還要同步每台Server...........哭哭 寬宏那邊是怎麼處理的我不清楚,我沒去搶票,也沒看過畫面 雖然可以做的到把所有位置放在網頁上給人選,並即時顯示動態 不過一般不會這樣 如果是管理頁面要顯示所有座位也就算了 但「把所有的座位列在畫面上給買票者選」這種設計本身就是一個問題 比較好的處理方式應該是: 1. 選區,然後電腦自動從該區選位置 2. 選區,然後電腦從該區挑出幾個空位來給使用者選,被挑的位置先鎖定 等選完後再把沒被選中的位置解除鎖定 如果很堅持要把一堆位置列在螢幕上人選的話 也可以這樣作: 3.選區,每區的大小大概幾十個至一百個位置 然後,每個區用一台獨立的伺服器去負責 進入該區的人只能看到/選該區的位置 所以,不會遇到那種需要每秒通知數百萬的對像的狀況 除非有人腦包堅持要把所有位置列出來給大家選,並叫程式設計師這樣做 另外別對伺服器有太大的信任 網站這種東西平時不會多大的流量,但一有狀況,流量就會「爆衝」 很顯然寬宏沒考慮到這一點 我私底下跟其他寫程式的朋友聊天時 有聽過幾次「這是台灣之恥」之類的言論 雖然有的人講話沒這麼毒,但講的意思都差不多是這樣 ========================== 離題講一下別的東西 對付這種大流量的狀況 有個最基本的手法就是「切」 拿MMORPG來講 一個遊戲會切成好幾個伺服器、伺服器中的地圖又被切成好幾個區塊 甚至還出現副本之類的東西 那就都是為了把玩家分散到不同電腦上去作處理 這樣就是為了避免原PO講的,同步來同步去的問題 我也不是什麼大師 只是我聽過的,關於程式軟體的故事比較多一點罷了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.219.211 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1420534265.A.FE1.html ※ 編輯: LaPass (118.163.219.211), 01/06/2015 16:51:52

01/06 17:58, , 1F
最後發現他們只有一台p4當server 其實根本是神
01/06 17:58, 1F

01/06 18:04, , 2F
推樓上
01/06 18:04, 2F

01/06 18:22, , 3F
推樓樓上
01/06 18:22, 3F

01/06 18:52, , 4F
1樓你怎麼講出來了...
01/06 18:52, 4F

01/06 20:34, , 5F
@KanoLoa 請問有沒有消息來源的文章很有興趣看看
01/06 20:34, 5F

01/07 00:05, , 6F
推這篇~講得很有道理
01/07 00:05, 6F

01/07 00:15, , 7F
01/07 00:15, 7F

01/07 00:50, , 8F
一樓XD
01/07 00:50, 8F

01/08 22:47, , 9F
一樓很有經驗XD
01/08 22:47, 9F
文章代碼(AID): #1Kgw7v_X (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1Kgw7v_X (Soft_Job)