国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

過年回家搶票,12306的余票是怎么計算的,具體的思路是什么?

開發 架構 服務器運維
車票售賣特點,有一張車票賣出去就會影響到整個列車線的票數:北京開往廣州的一趟列車有人買了石家莊到鄭州的票,同時意味著出發點在北京-石家莊,目的地是鄭州-廣州的所有情況都會少一張票。

 車票售賣特點,有一張車票賣出去就會影響到整個列車線的票數:北京開往廣州的一趟列車有人買了石家莊到鄭州的票,同時意味著出發點在北京-石家莊,目的地是鄭州-廣州的所有情況都會少一張票。

1.最low的方法。每次查詢車票時候都算一遍各個站點的票數,取最小值。假設一共3站,北京,石家莊,廣州,共10個座位。有人要查詢北京-廣州的票:已經賣出了北京-石家莊9張票,石家莊-廣州1張票,取中間車站的最小值10-9=1,剩一張。這樣如果是20站查看兩頭車站的余票就要計算19次再找最小值。

為什么說它low呢?因為票數不多但是查看余票的人太多!而且人都不傻,在沒票時候還會刷新!所以來一次訪問計算20次,10萬人加上每個黃牛開10臺電腦用來刷票,瞬間訪問數達到100W,想要1秒內都得到響應需要1秒計算2000W次。

2.稍微好一點的方法。票被買走時候把每個車站余票計算一下,查看余票時候直接返回這個結果。同樣每秒100W訪問,但是只有1000人在這秒買到了票,計算余票時候只需要1000*20=20W次,省下了1800W次的運算。

3.更“實際”一點的方法。每隔1秒同步一次數據狀態。假設12306每次查余票需要更新1k數據,一般單個網卡1G帶寬,理論能同時支持12.8W的訪問量,100W人都要看就至少有8個服務器在工作,方法2中,余票需要存放8份的話就需要1000*8=8000次更新。還要考慮各個地區訪問的不均等性,電信,網通,鐵通等線路,整體列車余票情況數據量也有幾十K,所以1秒8000次更新也幾百兆的流量了。但是如果每隔1秒同步當前的數據狀態就好很多,這樣編程了1*8=8次,更新數據庫傳輸總量1M/s左右,差不多吧?

即便如此,還是扛不住訪問量。

因為電腦上12306是用的網頁模式,查詢車票那個頁面大小6K,即便是用了ajax,刷新一次北京-鄭州,這樣的大站需要傳輸7K的純json數據,個人感覺有很多字段都浪費了,沒什么用。

 

所以就我看來,12306可以做以下改進,不是一切問題都要用技術解決的。

1.已經做了,分段放票,減少扎堆

2.12306自制一款好的搶票軟件。既然搶票權在自己手里了,刷票軟件就少了,大量減少流量。

3.別搞現在的圖片驗證碼了,這些驗證碼刷不出來,辨識度低根本是暴力防刷,不但防機器人,真人都不行。

4.更改搶票規則,反正都是拼手速,拼網速,拼人品,何必這么費勁大家一頓刷刷刷呢?寫個算法分配下吧。

供需是主要矛盾,供大于求必定導致各種買不到票,沒辦法。

有些看官想學習高性能,高并發,分布式網站架構設計,我真心也不會......

建議看看看《大型網站技術架構_核心原理與案例分析_李智慧》,《大型網站系統與Java中間件實踐》這兩本書,《Hadoop實戰》這本也不錯。

由于12306這個開放性問題太大,我就只能說下為什么看到票卻買不到的最基本情況,權當拋磚引玉吧。

12306網站是全世界最繁忙的網絡之一,由于大量的人集中在某個時間點大量訪問該網站,導致網站的并發處理能力要求非常高。我是個it小菜鳥,就給沒有計算機基礎的各位看官講講皮毛知識,大牛莫笑。

網上有這么一個統計圖:

 

 

過年回家搶票,12306的余票是怎么計算的,具體的思路是什么?

 

 

1.網站是怎么運作的。

一個用戶想知道現在有沒有票,于是打開網頁,網站的后臺就去查看自己的數據庫,檢索下有沒有用戶需要的數據,然后將結果展示到頁面上,就形成了頁面上的余票信息。

然后用戶看到:嘿~有票!買買買!點擊購買后,網站后臺將用戶訂票的信息在數據庫中更新一下:北京到巴黎的票100張變成了99張,然后購票成功。

我這里說的很簡單,沒有提到支付環節與退票,咱們先看這個簡單的例子,畫個圖大概是這個樣子的:

 

 

過年回家搶票,12306的余票是怎么計算的,具體的思路是什么?

 

 

2.當有101個人都在搶票時候呢?

悲劇了,現在搶票更接近真實了,在早上8:00:00,有101個人同時要搶這100張票,會發生什么呢?對于一個人來說,網站實行“查看有多少票”(檢索數據庫),“買一張票”(修改數據庫)的時間非常快,大約在50ms以內,所以很順利就執行了。但是101人同時點擊購買呢?全按照上圖的簡單流程,就多賣了1張票!所以需要再加一層檢查:

由于不止一個人同時買票,所以看到票數一瞬間與點擊買票的一瞬間實際上剩余的車票數量發生了變化!因此買票時候會再次檢查余票。如下圖,雖然紅框內同時發生,不過你網速手速不行......

 

 

過年回家搶票,12306的余票是怎么計算的,具體的思路是什么?

 

 

所以,你看到有票但是買時候沒票

3.上百萬人同時訪問一個網站呢?

基本與上邊步驟都一樣,不過網站后臺把用來給用戶看的數據庫與用來給系統改寫的數據庫拆開了。也就是說有一個(多個)數據庫專門是給用戶讀的,有一個數據庫專門是用來做加減操作的。它們之間每隔一定時間就把內容同步一次。(用來改寫的數據庫叫主庫,用來讀取的數據庫叫從庫,一般情況下主庫只有一個,從庫有很多個。主庫的數據每隔一段時間同步到從庫中)

查看票數時候只訪問從庫:還有票哇,好開心!

 

 

過年回家搶票,12306的余票是怎么計算的,具體的思路是什么?

 

 

買票時候改成了訪問主庫:你妹!說好的有票呢!

 

 

過年回家搶票,12306的余票是怎么計算的,具體的思路是什么?

 

 

最后:實際應用中12306流程比這個復雜的多,比如同時10人搶1張票給誰?這么大訪問量我帶寬扛不住怎么辦?由于列車太多,少一張票就會影響整個列車線,計算量太大怎么辦?40分鐘等待時間車票怎么辦?所以這里只列舉了正常情況下比較簡單的邏輯,權當一看。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2021-07-26 07:47:37

前端自動搶票

2019-12-30 07:00:51

技術研發系統

2013-01-17 10:49:42

2014-12-22 11:07:18

12306

2020-12-18 08:55:20

Python火車票代碼

2013-01-16 16:28:20

2013-01-22 17:10:42

瀏覽器技術解析

2014-01-03 09:15:39

12306搶票360

2019-12-24 09:44:02

界面12306系統

2018-02-07 17:12:00

2018-01-10 15:23:09

2013-01-22 09:31:20

獵豹瀏覽器

2013-09-12 12:17:23

搶票攻略搶票

2013-09-12 11:14:52

假冒1230612306

2013-12-09 14:21:45

12306搶票瀏覽器

2013-09-12 11:17:02

2013-01-22 09:31:33

2019-01-09 09:35:41

搶票Python軟件

2018-01-26 10:31:11

搶票軟件公平

2013-09-12 10:50:13

獵豹瀏覽器12306搶票軟件
點贊
收藏

51CTO技術棧公眾號

精品中文字幕一区二区三区四区 | 色棕色天天综合网| 精品电影一区二区| 日本中文字幕视频在线| 在线这里只有精品| 国产小视频免费在线网址| 欧美性xxxx18| 日本不卡三区| 欧美一区二区精美| 精品精品导航| 亚洲欧洲午夜一线一品| 亚洲精品555| 欧美黑人国产人伦爽爽爽| 欧美一级三级| 亚洲自拍偷拍区| 亚洲综合国产激情另类一区| 日韩一本精品| 懂色中文一区二区在线播放| 能在线观看的av网站| 国产精品久久久爽爽爽麻豆色哟哟| free亚洲| 色狠狠一区二区三区香蕉| av软件在线观看| 欧美电影免费提供在线观看| 欧美aaa视频| 91极品视频在线| 欧美不卡一区| 亚洲一区二区在线免费观看| 处破女av一区二区| 国产va在线| 欧美性生活久久| 久草免费在线视频| 久久91亚洲精品中文字幕奶水| 国产一区毛片| 日本在线视频不卡| av电影在线观看完整版一区二区| 丁香花高清视频完整版在线观看| 在线看一区二区| 日韩欧美精品电影| 国产精品激情av在线播放| 性8sex亚洲区入口| 国产a级片免费观看| 欧美三级免费观看| 香蕉视频亚洲一级| 国产精品久久二区| 精品影院一区二区久久久| 男女午夜网站| 91精品国产91久久久久久最新毛片| 久久国产三级| 成人日韩在线电影| 国产传媒久久文化传媒| 福利h视频在线| 日韩精品中文字幕久久臀| 一区二区三区视频免费观看| 亚洲啪啪av| 亚洲精品国产a久久久久久| 日本在线视频中文有码| 91国自产精品中文字幕亚洲| 玖玖国产精品视频| aaaaa毛片| 亚洲欧美国产精品专区久久| 色爱综合网欧美| 免费高清一区二区三区| 色婷婷激情一区二区三区| 国产亚洲字幕| 欧洲亚洲一区二区| 亚洲自拍偷拍欧美| 在线一区视频观看| 精品久久久久久乱码天堂| 国产精品国模大尺度视频| 激情图片在线观看高清国产| 国产精品高潮呻吟久久av黑人| 加勒比av一区二区| 欧美成人片在线| 久久久久久久久国产精品| 日本aⅴ精品一区二区三区 | 国模私拍一区二区国模曼安| 国产精品精品国产| 91网站在线播放| 羞羞视频在线免费国产| 国产精品视频区1| 久久亚洲捆绑美女| 99re6在线精品视频免费播放| 成人中文字幕在线观看| 国产亚洲一区字幕| 高清电影一区| 日韩一区二区三区高清| 在线欧美小视频| 国产一区日韩| 国产免费视频传媒| 最近中文字幕2019免费| 久久精品国产久精国产爱| 成年人视频在线看| 国产日韩欧美日韩| 国产精品美女一区二区| 99久久综合国产精品二区| 日韩国产在线一区| 在线观看av一区| 久久久影院免费| 日本视频一二区| 66m—66摸成人免费视频| 99视频精品免费视频| 欧美xxx视频| 99亚洲国产精品| 亚洲国产精品va在线看黑人动漫| 激情久久婷婷| 日本v片在线免费观看| 国产激情综合五月久久| 国产精品久久毛片| 久久久久观看| 五月天av在线播放| 午夜精品久久久久久99热软件| 91一区在线观看| 91精品网站在线观看| 欧美视频在线观看网站| 最近日韩中文字幕中文| 菠萝蜜视频在线观看一区| 婷婷综合六月| 男人插女人视频在线观看| 三级精品视频久久久久| 91在线一区二区三区| 成人在线日韩| 天堂在线资源视频| 26uuu国产精品视频| 亚洲黄色尤物视频| 四虎成人av| 成人高清免费在线播放| 九九九九久久久久| 精品不卡在线视频| 国产精品99久久久久久久女警| 日本高清不卡一区二区三区视频| 欧美日韩一区二区三区电影| 国产亚洲美女久久| 99re热这里只有精品免费视频| 亚洲国产视频二区| 国产网站免费观看| 亚洲综合色av| 欧美一级爆毛片| 国产精品自产自拍| 欧美在线在线| 1024在线视频| 国产一区二区视频在线免费观看| 日韩一级大片在线| 大白屁股一区二区视频| 精品国产午夜肉伦伦影院| 国产日本视频| 国产高清一区视频| 亚洲国产精品成人va在线观看| proumb性欧美在线观看| 婷婷五月色综合香五月| 免费在线超碰| 色撸撸在线观看| 欧美寡妇偷汉性猛交| 欧美日韩精品在线| 蜜臀99久久精品久久久久久软件| 国产成人精选| 影音先锋在线影院| 日本午夜一区二区三区| 久久精品中文字幕一区| 午夜精品久久久久久久99樱桃| 久久天堂精品| 91成人午夜| 天堂资源在线中文| 热99这里只有精品| 国产精品影院在线观看| 亚洲国产精品99久久| 国产精品无人区| 激情久久久久久久| 国产精品久久亚洲不卡| 嫩草嫩草嫩草| 一区二区三区偷拍| 2019精品视频| 日韩精品在线网站| 国产精品久久国产精麻豆99网站| 极品少妇一区二区三区| 欧美爱爱视频| 国产永久免费高清在线观看 | 粉嫩av亚洲一区二区图片| 欧洲乱码伦视频免费| 蜜臀av在线| 老司机性视频| 欧美日韩中文字幕在线播放| 国产精品美女视频网站| 亚洲欧美日韩高清| 欧美日韩亚洲精品内裤| 丁香另类激情小说| 黄色成人91| 免费观看性欧美大片无片| 国产一级片在线播放| 99爱视频在线| 老牛影视免费一区二区| 97在线观看视频国产| 亚洲第一区第一页| 午夜精品免费在线| 91免费在线看| 青青草91视频| 欧美aa国产视频| 牛牛影视久久网| 欧美三区四区| 国产视频一区二区|