欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

斯派克程序數據庫設計

系統 1830 0

??????? 上個月,騰訊有機會去逛了一圈,面試工作,雖然沒有承認,但在整個過程而言仍然令人愉快。面試面試過程中我的孩子(看看關于年齡26,7歲)他問了我一個關于秒殺問題。他說,騰訊游戲往往有秒殺活動。致server死鎖或壓力太大,應該怎樣設計減輕數據庫server壓力。當然由于面試的是PHP職位,我做的是C#和JAVA我知道應該沒機會所以本不想太過“配合”的回答,可是看面試我的小朋友看我好像非常不削的樣子(可能由于面試的是PHP職位并且一上來就讓我做題目,盡管我有點不情愿做題可是畢竟是騰訊還是做了可是PHP接觸的真的不多所以題目差點兒是連蒙帶猜的完畢的,預計不是非常好看),所以還是認真想了想解決方式。

??????? 秒殺說究竟就是瞬間大規模訪問,導致的壓力,前端我們能夠使用集群技術,數據庫呢?拆表?是個方法,可是假設僅僅是簡單拆表仍然會有問題,畢竟秒殺商品被記錄到表中后用戶秒殺必然是須要通過改動表中已有的秒殺商品記錄來確定這個商品是否已經被秒走。為了防止搶到同一條記錄加鎖是必須。

而數據庫一鎖性能問題就來了。那怎么辦呢?我想了一個方法(至少有一點能夠確定騰訊游戲沒實用這種方法解決),秒殺時并非立馬去改動數據庫中記錄(進行update操作),而是先向一張表中插入一條記錄,類似進入等待隊列,為了防止大規模插入操作導致鎖表我們能夠將隊列表拆成多張同樣結構表。有一個job會不斷讀取這些隊列表并依照插入時間排列計算那些記錄被秒殺成功。而client在點擊秒殺button后斷開連接,幾秒后再次通過查詢語句來查詢結果。并返回給前臺客戶。

???????? 這樣做的優點秒殺過程是分段的。前臺用戶在秒殺時僅是向(多張隊列表中)某一張隊列表中插入一條記錄。之后便斷開本次連接進入等待,job程序通過合并查詢將多張秒殺表合并按插入時間排序。按規則得出秒殺成功的用戶并改動秒殺商品表。表明此商品已被秒殺。前臺程序在等待幾秒后查詢秒殺商品表獲得自己是否已秒殺成功。

???????? 由于第一步驟是只插入操作,而不必擔心因臟數據同步問題。因此,我們可以拆表來分散壓力通過降低隔離級別。更新操作是一個單獨的job計劃完成,因為只有一個程序來更改記錄,所以它不會質疑鎖表的存在。最后,前臺得到結果的查詢,因為查詢不需要任何商品秒殺結果只需要知道訂單是否不夠抓住自己。它有可能使用with(nolock)忽略一類的鎖定機構來運行。

斯派克程序數據庫設計


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲国产视频网站 | 国产精品爱久久久久久久小说 | 91涩涩视频 | 手机在线观看你懂得 | 一级黄色绿像片 | 欧美国产激情二区三区 | 亚洲精品乱码久久久久久 | 亚洲精品欧美一区二区三区 | 四虎影视在线看免费完整版 | a一级黄色片 | 欧美日韩在线视频观看 | 精品欧美一区二区三区久久久小说 | 五月婷婷综合在线视频 | 久久偷拍人 | 国产精品久久久久久久一区探花 | 国产精品无码人妻无码色情多人 | 亚洲一区二区三区中文字幕 | 5252sese| 日本久久网 | 色综色天天综合网 | 猛草视频 | 久久久久国产一区二区三区四区 | 亚州精品天堂中文字幕 | 天天爽天天色 | 波多野吉衣一区二区三区四区 | 99热国产这里只有精品9九 | 黄色影片在线免费观看 | 日韩精品中文字幕视频一区 | 欧美一级久久久久久久久大 | 天天色官网 | 欧美三级免费看 | 国产精品高清视亚洲乱码 | 精品国产免费一区二区三区 | 日韩精品福利视频一区二区三区 | 国产精品久久av | 久久www免费人成精品 | 久草福利在线 | 亚洲日本天堂在线 | 二区三区四区 | 日韩影院在线观看 | 亚洲一区二区视频 |