解决火车票网上订票难的方案
?
? ? ? 問(wèn)題:并發(fā)訪問(wèn)量過(guò)大,超出系統(tǒng)承受范圍,導(dǎo)致其癱瘓。
?
? ? ? 分析,該系統(tǒng)也是專家中的專家做的,所以姑且不對(duì)鐵道部的官方回應(yīng)給予質(zhì)疑;所以問(wèn)題是,現(xiàn)有系統(tǒng)已經(jīng)滿負(fù)荷,以最大的性能在運(yùn)行,并且沒(méi)有提升的空間了 (分布式,集群等,武器全部用上了)。那我們購(gòu)票的問(wèn)題還是要解決啊,怎么辦?
? ? ? 方案:系統(tǒng)擴(kuò)展。
?
? ? ? 1. 確保現(xiàn)有系統(tǒng)正常運(yùn)行,不允許其出現(xiàn)癱瘓的情況;既限制并發(fā)訪問(wèn)量。
? ? ? 2. 系統(tǒng)飽和后,仍舊有更多的人訪問(wèn)怎么辦? Say No, 但是要給出路。重定向到另外一個(gè)支持系統(tǒng),該系統(tǒng)只負(fù)責(zé)登記客戶信息 (姓名,身份證號(hào),幾時(shí)從哪里到哪里),當(dāng)客戶填入這些信息后,改訂票請(qǐng)求自動(dòng)進(jìn)入排隊(duì),告知其耐心等待,“已經(jīng)進(jìn)入自動(dòng)訂票程序,當(dāng)訂票成功后,我們將會(huì)通知您,請(qǐng)您留意短信息。”
? ? ? 3. 自動(dòng)受理系統(tǒng)(上面所述)將自動(dòng)的進(jìn)行購(gòu)票,當(dāng)然要考慮現(xiàn)有訂票系統(tǒng)的工作情況;比如雙方約定每天什么時(shí)候進(jìn)行集中處理,或者訂票系統(tǒng)有空閑資源時(shí),通知自動(dòng)受理系統(tǒng)工作;等等。
? ? ? 4. 當(dāng)自動(dòng)訂票系統(tǒng)為客戶訂到票后,短信以及郵件通知客戶,要求其12小時(shí)內(nèi)付款,否則該次訂票無(wú)效;當(dāng)客戶收到短信后,電話其支付中心(自動(dòng)受理,不是人工),進(jìn)行支付;當(dāng)然也可以進(jìn)行網(wǎng)上支付。
? ? ?擴(kuò)展后系統(tǒng)的優(yōu)點(diǎn),
? ? ?1. 最大化的利用訂票系統(tǒng)的資源。讓其永遠(yuǎn)保持滿負(fù)荷工作,因?yàn)榭赡苡泻芏嘧詣?dòng)受理系統(tǒng)來(lái)的訂票請(qǐng)求;
? ? ?2. 客戶當(dāng)其訂票失敗時(shí),不需要重復(fù)的刷新;其實(shí)這部分是極大浪費(fèi)資源的部分!!!都在搶著訂,結(jié)果網(wǎng)絡(luò)癱瘓,大家都訂不到。
? ? ?3. 可有在系統(tǒng)繁忙時(shí),把買票跟支付環(huán)節(jié)分開,以時(shí)間換空間。各系統(tǒng)內(nèi)部調(diào)配資源,極大減低客戶訪問(wèn)量對(duì)系統(tǒng)的影響;并可以充分利用現(xiàn)有資源。
總結(jié)
以上是生活随笔為你收集整理的解决火车票网上订票难的方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c#调用外部dll详解
- 下一篇: C#调用C++的dll文件方法