日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

對號入座,快看看你的應(yīng)用系統(tǒng)用了哪些高并發(fā)技術(shù)?

來源: 責(zé)編: 時間:2024-04-19 09:28:28 169觀看
導(dǎo)讀一 系統(tǒng)簡介百舸流量運營平臺承接著京東金融APP核心資源位和京東APP部分重要資源位,大促單接口QPS達到10w+,壓測單接口到20w+,典型的c端讀鏈路高并發(fā)場景。接下來,聊聊我們的系統(tǒng)都有哪些應(yīng)對高并發(fā)的“武功秘籍”。二

一 系統(tǒng)簡介

百舸流量運營平臺承接著京東金融APP核心資源位和京東APP部分重要資源位,大促單接口QPS達到10w+,壓測單接口到20w+,典型的c端讀鏈路高并發(fā)場景。接下來,聊聊我們的系統(tǒng)都有哪些應(yīng)對高并發(fā)的“武功秘籍”。iP728資訊網(wǎng)——每日最新資訊28at.com

iP728資訊網(wǎng)——每日最新資訊28at.com

二 “武功秘籍”

1 緩存(redis緩存,本地緩存)

緩存是提高系統(tǒng)的并發(fā)和提升系統(tǒng)的性能利器。redis分布式緩存用來解決緩存容量和性能問題,本地緩存用來解決redis的熱key問題和提升性能。iP728資訊網(wǎng)——每日最新資訊28at.com

詳情可以查看之前的文章《服務(wù)端應(yīng)用多級緩存架構(gòu)方案》。iP728資訊網(wǎng)——每日最新資訊28at.com

2 限流

限流是保護系統(tǒng)的一種策略,限流是控制接受請求的速率,通過壓測提前預(yù)知系統(tǒng)可承載的并發(fā)量,是對系統(tǒng)資源的前置保護,保證系統(tǒng)容量范圍內(nèi)的請求能夠正常返回,超過容量的請求丟棄。iP728資訊網(wǎng)——每日最新資訊28at.com

可通過JSF配置限流或者sentinel實現(xiàn)限流。經(jīng)典算法:令牌桶,漏桶,滑動時間窗口。iP728資訊網(wǎng)——每日最新資訊28at.com

3 熔斷降級

熔斷也是保護系統(tǒng)的一種手段,分布式系統(tǒng)中系統(tǒng)之間通過微服務(wù)調(diào)用,偶爾會出現(xiàn)依賴的某個服務(wù)不可用或者耗時驟增,導(dǎo)致耗盡業(yè)務(wù)線程池,從而拖垮整個服務(wù),可通過sentinel配置慢調(diào)用比例或者異常比例策略,達到熔斷閾值后,接下來的熔斷時長內(nèi)請求會自動被熔斷。經(jīng)過熔斷時長后熔斷器會進入探測恢復(fù)狀態(tài)(HALF-OPEN 狀態(tài)),若接下來的一個請求成功通過后,則結(jié)束熔斷,否則繼續(xù)熔斷。 實際過程中,需要結(jié)合上下游鏈路,設(shè)置合理的超時時間以及兜底數(shù)據(jù)。iP728資訊網(wǎng)——每日最新資訊28at.com

常見的降級類型有:日常降級;大促非核心接口降級;大促日志降級,只打印error級別日志。iP728資訊網(wǎng)——每日最新資訊28at.com

4 異步(CompletableFuture,MQ)

系統(tǒng)解耦:完成一項業(yè)務(wù)指令通常需要多個微服務(wù)協(xié)作,核心業(yè)務(wù)完成后,可通過消息的方式進行異步解耦,讓其他服務(wù)訂閱消息,完成各自的業(yè)務(wù)邏輯,適用于無需用戶等待感知的場景。iP728資訊網(wǎng)——每日最新資訊28at.com

提升性能:在C端用戶等待的感知的場景,需要多個微服務(wù)協(xié)作,如果串行RPC調(diào)用,耗時是每個服務(wù)耗時之和,可通過CompletableFuture實現(xiàn)RPC異步調(diào)用,當(dāng)使用時匯總結(jié)果,提升系統(tǒng)的性能。iP728資訊網(wǎng)——每日最新資訊28at.com

5 池化技術(shù)

池化技術(shù)思想: 池化思想的解決的核心思想是通過預(yù)先創(chuàng)建數(shù)據(jù)庫連接或者線程放入池中,以便在需要時可以重復(fù)使用,減少創(chuàng)建和銷毀的開銷,提高系統(tǒng)的性能和并發(fā)。iP728資訊網(wǎng)——每日最新資訊28at.com

數(shù)據(jù)庫連接池:如果是部署多臺機器,注意多臺機器連接數(shù)是否超過數(shù)據(jù)庫最大連接數(shù),避免出現(xiàn)連接不上問題。iP728資訊網(wǎng)——每日最新資訊28at.com

業(yè)務(wù)線程池:自定義線程池,根據(jù)業(yè)務(wù)采用合適的拒絕策略,注意線程隔離,避免某個接口異常拖垮整個應(yīng)用。iP728資訊網(wǎng)——每日最新資訊28at.com

6 代碼優(yōu)化

減少調(diào)用鏈路,優(yōu)化代碼邏輯執(zhí)行順序,將阻斷校驗流程前置,優(yōu)化數(shù)據(jù)結(jié)構(gòu)和算法,優(yōu)化查詢邏輯,減少IO次數(shù)等。iP728資訊網(wǎng)——每日最新資訊28at.com

7 JVM調(diào)優(yōu)

使用G1垃圾回收器,應(yīng)用系統(tǒng)根據(jù)自己的業(yè)務(wù)情況配置JVM參數(shù),常規(guī)4C8G通用配置可參考:iP728資訊網(wǎng)——每日最新資訊28at.com

-Xms4096m -Xmx4096m -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m -XX:+UseG1GC -XX:MaxGCPauseMillis=80

核心參數(shù):-Xms初始堆大小,-Xmx最大堆大小,MaxMetaspaceSize最大元空間大小,MetaspaceSize表示Metaspace首次使用不足時觸發(fā)Full GC(全面垃圾回收)的閾值,垃圾回收機制使用G1回收器,MaxGCPauseMillis在jvm垃圾回收過程中允許停頓的最大毫秒時間。iP728資訊網(wǎng)——每日最新資訊28at.com

8 分治思想,橫向擴展,

應(yīng)用服務(wù)應(yīng)該設(shè)計為無狀態(tài)的,可通過增加應(yīng)用實例數(shù)量來應(yīng)對突發(fā)流量,將流量分到每臺機器上,同樣可以將應(yīng)用進行按照業(yè)務(wù)拆分,單獨部署,提高系統(tǒng)并發(fā)。iP728資訊網(wǎng)——每日最新資訊28at.com

合并批量請求,將多次調(diào)用改為一次批量調(diào)用,減少網(wǎng)絡(luò)開銷。iP728資訊網(wǎng)——每日最新資訊28at.com

9 預(yù)熱

通過定時任務(wù)或者初始化腳本提前將數(shù)據(jù)加載到內(nèi)存,提高系統(tǒng)的性能,常見的有緩存數(shù)據(jù)預(yù)熱,ES數(shù)據(jù)預(yù)熱等。iP728資訊網(wǎng)——每日最新資訊28at.com

針對應(yīng)用升級或者重啟抖動,可以通過JSF預(yù)熱的方式,應(yīng)用重啟后,在預(yù)熱時間內(nèi),流量逐漸增加的方式,減少抖動。iP728資訊網(wǎng)——每日最新資訊28at.com

JSF預(yù)熱可參考文章《后端服務(wù)之應(yīng)用預(yù)熱》iP728資訊網(wǎng)——每日最新資訊28at.com

10 數(shù)據(jù)異構(gòu)

業(yè)務(wù)數(shù)據(jù)通常存儲在支持事務(wù)的關(guān)系型數(shù)據(jù)庫中,當(dāng)在面對復(fù)雜查詢場景時捉襟見肘,可將數(shù)據(jù)通過binlog異構(gòu)到ES中,ES支持復(fù)雜場景的查詢并且有較高的性能,輕松突破數(shù)據(jù)庫單表數(shù)據(jù)量大及多表關(guān)聯(lián)查詢瓶頸。iP728資訊網(wǎng)——每日最新資訊28at.com

數(shù)據(jù)異構(gòu)可參考文章《記一次生產(chǎn)慢sql索引優(yōu)化及思考》 中的目錄五:長期優(yōu)化方案。iP728資訊網(wǎng)——每日最新資訊28at.com

11 分庫分表,數(shù)據(jù)庫優(yōu)化

分庫和分表各抗什么?iP728資訊網(wǎng)——每日最新資訊28at.com

分表:當(dāng)一個表中的數(shù)據(jù)量過大時,會導(dǎo)致查詢速度變慢、插入和更新操作效率下降等問題。通過分表,每個小表的數(shù)據(jù)量就相對較小,性能問題得以緩解。iP728資訊網(wǎng)——每日最新資訊28at.com

分庫:當(dāng)一個數(shù)據(jù)庫實例無法承受大量數(shù)據(jù)的存儲和并發(fā)時,可通過分庫來分散系統(tǒng)壓力。iP728資訊網(wǎng)——每日最新資訊28at.com

通常情況下,分庫和分表是結(jié)合使用的。iP728資訊網(wǎng)——每日最新資訊28at.com

數(shù)據(jù)庫優(yōu)化中常見的是sql優(yōu)化,是否命中索引,提高服務(wù)器硬件配置。iP728資訊網(wǎng)——每日最新資訊28at.com

三 總結(jié)

以上為百舸系統(tǒng)處理高并發(fā)問題的一些策略,高并發(fā)架構(gòu)是演進而來,避免過度設(shè)計,沒有一個技術(shù)能解決所有的問題,抓住關(guān)鍵矛盾,使用前一定要做好調(diào)研和評估,還有哪些?歡迎補充。iP728資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-84020-0.html對號入座,快看看你的應(yīng)用系統(tǒng)用了哪些高并發(fā)技術(shù)?

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 深入了解Python中的拷貝:淺拷貝與深拷貝的區(qū)別

下一篇: Formik:讓用戶體驗更加出色的表單解決方案

標(biāo)簽:
  • 熱門焦點
  • 一加Ace2 Pro真機揭曉 鈦空灰配色質(zhì)感拉滿

    終于,在經(jīng)過了幾波預(yù)熱之后,一加Ace2 Pro的外觀真機圖在網(wǎng)上出現(xiàn)了。還是博主數(shù)碼閑聊站曝光的,這次的外觀設(shè)計還是延續(xù)了一加11的方案,只是細節(jié)上有了調(diào)整,例如新加入了鈦空灰
  • 6月安卓手機好評榜:魅族20 Pro蟬聯(lián)冠軍

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數(shù)據(jù)來源安兔兔評測,收集時間2023年6月1日至6月30日,僅限國內(nèi)市場。第一名:魅族20 Pro好評率:95%5月份的時候魅族20 Pro就是
  • 六大權(quán)益!華為8月服務(wù)日開啟:手機免費貼膜、維修免人工費

    8月5日消息,一年一度的華為開發(fā)者大會2023(Together)日前在松山湖拉開帷幕,與此同時,華為8月服務(wù)日也式開啟,到店可享六大專屬權(quán)益。華為用戶可在華為商城Ap
  • 分布式系統(tǒng)中的CAP理論,面試必問,你理解了嘛?

    對于剛剛接觸分布式系統(tǒng)的小伙伴們來說,一提起分布式系統(tǒng),就感覺高大上,深不可測。而且看了很多書和視頻還是一臉懵逼。這篇文章主要使用大白話的方式,帶你理解一下分布式系統(tǒng)
  • 一篇聊聊Go錯誤封裝機制

    %w 是用于錯誤包裝(Error Wrapping)的格式化動詞。它是用于 fmt.Errorf 和 fmt.Sprintf 函數(shù)中的一個特殊格式化動詞,用于將一個錯誤(或其他可打印的值)包裝在一個新的錯誤中。使
  • 三言兩語說透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是兩種很有用的技術(shù),可以幫助我們寫出更加優(yōu)雅、泛用的函數(shù)。本文將首先介紹柯里化和反柯里化的概念、實現(xiàn)原理和應(yīng)用
  • 三萬字盤點 Spring 九大核心基礎(chǔ)功能

    大家好,我是三友~~今天來跟大家聊一聊Spring的9大核心基礎(chǔ)功能。話不多說,先上目錄:圖片友情提示,本文過長,建議收藏,嘿嘿嘿!一、資源管理資源管理是Spring的一個核心的基礎(chǔ)功能,不
  • 一文掌握 Golang 模糊測試(Fuzz Testing)

    模糊測試(Fuzz Testing)模糊測試(Fuzz Testing)是通過向目標(biāo)系統(tǒng)提供非預(yù)期的輸入并監(jiān)視異常結(jié)果來發(fā)現(xiàn)軟件漏洞的方法。可以用來發(fā)現(xiàn)應(yīng)用程序、操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議等中的漏洞或
  • DRAM存儲器10月價格下跌,NAND閃存本月價格與上月持平

    10月30日,據(jù)韓國媒體消息,自今年年初以來一直在上漲的 DRAM 存儲器的交易價格僅在本月就下跌了近 10%,此次是全年首次降價,而NAND 閃存本月價格與上月持平。市
Top 主站蜘蛛池模板: 正蓝旗| 绩溪县| 清水河县| 晋宁县| 郧西县| 依安县| 伊春市| 枞阳县| 宁化县| 沙雅县| 开化县| 三河市| 平谷区| 安达市| 军事| 东山县| 师宗县| 泾阳县| 大洼县| 浦江县| 城口县| 鄯善县| 固安县| 佛坪县| 页游| 慈溪市| 托克托县| 高雄县| 福清市| 姜堰市| 山西省| 固镇县| 兴隆县| 高雄县| 湘阴县| 绵竹市| 岳阳市| 景德镇市| 会宁县| 汕尾市| 临沂市|