中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

網站制作的關鍵技術優化點

2022-04-28    分類: 網站制作

大流量讀系統的設計手段,當這些手段全部窮盡以后,仍然產生大流量又該如何處理呢?所以秒殺系統還要解決以下關鍵問題。
1.Java處理大并發動態請求優化的問題
Java和通用的Web服務器( Nginx或 Apache)相比,在處理大并發的HTP請求時要弱一點,所以一般我們都會對大流量的Web系統做靜態化改造,讓大部分請求和數據直接在 Nginx I服務器或者Web代理服務器( Varnish、 squid等)上直接返回(可以減少數據的序列化與反序列化),Java層只處理少量數據的動態請求。針對這些請求可以使用以下優化手段:

直接使用 Servlet處理請求。避免使用傳統的MVC框架,這樣可以繞過一大堆復雜且用處不大的處理邏輯,節省1毫秒的時間一取決于對MVC框架的依賴程度;
直接輸出流數據。使用 resp. getoutputstreamo而不是 resp. get Writer)可以省掉一些不變字符數據的編碼,提升性能;數據輸出時,推薦使用JSON而不是模板引擎(一般都是解釋執行)來輸出頁面。
2.同一商品被大并發讀的問題
也許有讀者會覺得這個問題很容易解決,無非就是將熱點數據放到Tair緩存里。集中式Tair緩存為了保證命中率一般都會采用一致性Hash,所以同一個key會落到同臺機器上。雖然單臺Tair緩存機器也能支撐1秒30萬次的請求,但還是遠不足以應付大秒級別的熱點商品,該如何徹底解決單點的瓶頸呢?答案是采用應用層的Localcache,即在秒殺系統的單機上緩存商品相關的數據。那么如何 Cache數據?答案是劃分成動態數據和靜態數據分別處理。
像商品的標題和描述這此機器上、并一直緩存到秒殺結束像庫存這類動態數據會采用被動失效的方式緩存一定時間(一般是數秒),失效后再去Tai緩存拉取最新的數據。
讀者可能還會有疑問,像庫存這種頻繁更新的數據一旦數據不一致會不會導致超賣?這就要用到前面介紹的讀數據的分層校驗原則了,讀的場景可以允許一定的臟數據,因為這里的誤判只會導致少量原本無庫存的下單請求被誤認為有庫存,可以等到真正寫數據時再保證最終的一致性,通過在數據的高可用性和一致性之間的平衡來解決高并發的數據讀取問題。
3.同一數據大并發更新問題
采用 Localcache和數據的分層校驗可以一定程度上解決大并發讀問題,但是無論如何還是避免不了減庫存這類的大并發寫問題,這也是秒殺場景中最核心的技術難題。
同一數據在數據庫里肯定是一行存儲( MYSQL),所以會有大量的線程來競爭INNODB行鎖,并發度越高時等待的線程也會越多,TPS會下降而RT會上升,數據庫的吞吐量會嚴重受到影響。這里會出現一個問題,即單個熱點商品會影響整個數據庫的性能,出現我們不愿意看到的0.01%商品影響9999的商品的情況。此處的解決思路也是要遵循前面介紹的第一個原則“隔離” 把熱點商品放到單獨的熱點庫中盡管這會帶來維護的麻煩(要做熱點數據的動態遷移以及單獨的數據庫等)把熱點商品分離到單獨的數據庫并沒有解決并發鎖的問題,要解決并發鎖問題有以下兩種辦法。
第一種是在應用層做排隊。按照商品維度設置隊列順序執行,這樣能減少同一臺機器對數據庫同一行記錄操作的并發度,也能控制單個商品占用數據庫連接的數量防止熱點商品占用太多的數據庫連接。
第二種是在數據庫層做排隊。應用層只能做到單機的排隊,但是應用層機器數量很多,用這種排隊方式控制并發仍然是很有限的,如果能在數據庫層做全局排隊是最理想的。數據庫團隊開發了 MYSQL的 INNODB層上的 patch,可以做到在數據庫層上對單行記錄并發排隊。
你可能會有疑問:排隊和鎖競爭不都是要等得嗎,有何區別?如果熟悉 MYSQL的話,應該知道 INNODB內部的死鎖檢測以及 MYSQL Server和 INNODB的切換會比較耗性能, MYSQL核心團隊還做了很多其他方面的網站制作優化,如 COMMIT_ON_ SUCCESS和 ROLLBACK ON FAIL的 patch,配合在SQL里面加hint,在事務里不需要等待應用層提交 COMMIT而在數據執行完最后一條SQL后,根據 TARGET AFFECT ROW結果就直接提交或回滾,這樣可以減少網絡的等待時間(平均約0.7毫秒)。

文章標題:網站制作的關鍵技術優化點
文章鏈接:http://m.2m8n56k.cn/news/146974.html

網站建設、網絡推廣公司-創新互聯,是專注品牌與效果的網站制作,網絡營銷seo公司;服務項目有網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司
主站蜘蛛池模板: 亚洲国内精品自在线影视 | 国产免费福利体检区久久 | 久久国产精品久久久久久久久久 | 亚洲人成片在线观看 | 精品国产一区二区三区不卡 | 久久成年人视频 | 欧美色操 | 国产高清国产专区国产精品 | 久久久久国产精品免费网站 | 日本在线免费视频 | 欧美一级毛片高清免费观看 | 99热精品在线免费观看 | 亚洲精品二区中文字幕 | 青青热久久国产久精品 | 久久99精品久久久久久青青91 | 欧美成人免费观看的 | bt天堂午夜国产精品 | 欧美首页 | 国产成人精品福利网站人 | 亚洲国产日韩a在线亚洲 | 久久久一区二区三区 | 欧美日韩在线国产 | 亚洲男人的天堂在线视频 | 国产午夜精品久久久久免费视 | 国产日本欧美在线观看 | 波多野结衣手机视频一区 | 中国japanesevideo乱 | 国产精品久久国产三级国不卡顿 | a理论片 | 久久精品a一国产成人免费网站 | 日本一级毛片片在线播放 | 国产亚洲精品一区二区久久 | 亚洲国产精品乱码在线观看97 | 99在线视频精品费观看视 | 亚洲国产欧洲综合997久久 | 国产在线观看免费 | 久久久久在线观看 | 一个人看的www片免费视频中文 | 亚洲视频一区二区在线观看 | 美女被免费网站在线软件 | 欧美精品一区二区三区免费播放 |