欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 精品伊人久久久大香线蕉欧美 | 五月天激情综合网 | 久久综合玖玖爱中文字幕 | 久久久久久成人精品 | 亚洲免费观看在线视频 | 国产香蕉视频在线 | 国产成人精品午夜 | 日本毛片高清免费视频 | 一级片片 | 蜜桃视频在线观看免费视频网站www | 色播网址| 国产美女自拍视频 | 精品成人A片久久久久久船舶 | 亚洲美女精品 | 中文字幕三区 | 国产免费又色又爽又黄的网站 | 成人小视频在线观看 | www成人国产在线观看网站 | 韩国一级免费视频 | 男女午夜 | 欧美一级片毛片 | 日本一视频一区视频二区 | 欧美久草在线 | 久久处女视频 | 久草草视频在线观看免费高清 | 日韩欧美精品 | 成人欧美视频在线观看 | 在线一区观看 | 日本午夜影院 | 国产91成人精品亚洲精品 | 久久综合久色欧美综合狠狠 | 涩久久| 国产成人自拍视频在线观看 | 啪啪免费视频网站 | 成人免费毛片高清视频 | 欧美黑人xxxx猛牲大交 | 中文字幕av一区二区三区 | jjizz老女人多水喷水 | 精品无码国产一区二区日本 | 欧美午夜不卡 | 欧美三级美国一级 |