當前位置: 妍妍網 > 碼農

牛逼哄哄的 JD-hotkey !

2024-02-18碼農

推薦關註

掃碼關註 後端架構師 」,選擇 星標 公眾號

重磅幹貨,第一時間送達!

責編:架構君 | 來源:gitee.com/jd-platform-opensource/hotkey

上一篇好文:

正文

大家好,我是後端架構師。

JD-hotkey 是京東 APP 後台熱數據探測框架,歷經多次高壓壓測和 2020 年京東 618 大促考驗。

在上線執行的這段時間內,每天探測的key數量數十億計,精準捕獲了大量爬蟲、刷子使用者,另準確探測大量熱門商品並毫秒級推播到各個伺服端記憶體,大幅降低了熱數據對數據層的查詢壓力,提升了套用效能。

該框架歷經多次壓測,效能指標主要有兩個:

1 探測效能: 8核單機worker端每秒可接收處理16萬個key探測任務,16核單機至少每秒平穩處理30萬以上,實際壓測達到37萬,CPU平穩支撐,框架無異常。

2 推播效能: 在高並行寫入的同時,對外推播目前效能約平穩推播每秒10-12萬次,譬如有1千台server,一台worker上每秒產生了100個熱key,那麽這1秒會平穩推播100 * 1000 = 10萬次,10萬次推播會明確在1s內全部送達。如果是寫入少,推播多,以純推播來計數的話,該框架每秒可穩定對外推播40-60萬次平穩,80萬次極限可撐幾秒。

每秒單機吞吐量(寫入+對外推播)目前在70萬左右穩定。

在真實業務場景中,可用1:1000的比例,即1台worker支撐1000台業務伺服端的key探測任務,即可帶來極大的數據儲存資源節省(如對redis集群的擴充)。

介紹

對任意突發性的無法預先感知的熱點請求,包括並不限於熱點數據(如突發大量請求同一個商品)、熱使用者(如爬蟲、刷子)、熱介面(突發海量請求同一個介面)等,進行毫秒級精準探測到。

然後對這些熱數據、熱使用者等,推播到該套用部署的所有機器JVM記憶體中,以大幅減輕對後端數據儲存層的沖擊,並可以由客戶端決定如何使用這些熱key(譬如對熱商品做本地緩存、對熱使用者進行拒絕存取、對熱介面進行熔斷或返回預設值)。這些熱key在整個套用集群內保持一致性。

核心功能: 熱數據探測並推播至集群各個伺服器。

適用場景:

  • mysql熱數據 本地緩存

  • redis熱數據本地緩存

  • 黑名單使用者本地緩存

  • 爬蟲使用者限流

  • 介面、使用者維度限流

  • 單機介面、使用者維度限流限流

  • 集群使用者維度限流

  • 集群介面維度限流

  • worker 端強悍的效能表現

    每10秒打印一行,totalDealCount代表處理過的key總量,可以看到每10秒處理量在270萬-310萬之間,對應每秒30萬左右 QPS

    僅需要很少的機器,即可完成海量key的即時探測計算推播任務。比擴容redis集群規模成本低太多。

    采用protobuf序列化後效能進一步得到提升。在秒級36萬以上時,能穩定在CPU 60%,壓測持續時長超過5小時,未見任何異常。30萬時,壓測時長超過數日,未見任何異常。


    界面效果

    你還有什麽想要補充的嗎?

    最後,再次推薦下我們的AI星

    為了跟上AI時代我幹了一件事兒,我建立了一個知識星球社群:ChartGPT與副業。想帶著大家一起探索 ChatGPT和新的AI時代

    有很多小夥伴搞不定ChatGPT帳號,於是我們決定,凡是這三天之內加入ChatPGT的小夥伴,我們直接送一個正常可用的永久ChatGPT獨立帳戶。

    不光是增長速度最快,我們的星球品質也絕對經得起考驗,短短一個月時間,我們的課程團隊釋出了 8個專欄、18個副業計畫

    簡單說下這個星球能給大家提供什麽:

    1、不斷分享如何使用ChatGPT來完成各種任務,讓你更高效地使用ChatGPT,以及副業思考、變現思路、創業案例、落地案例分享。

    2、分享ChatGPT的使用方法、最新資訊、商業價值。

    3、探討未來關於ChatGPT的機遇,共同成長。

    4、幫助大家解決ChatGPT遇到的問題。

    5、 提供一整年的售後服務,一起搞副業

    星球福利:

    1、加入星球4天後,就送ChatGPT獨立帳號。

    2、邀請你加入ChatGPT會員交流群。

    3、贈送一份完整的ChatGPT手冊和66個ChatGPT副業賺錢手冊。

    其它福利還在籌劃中... 不過,我給你大家保證,加入星球後,收獲的價值會遠遠大於今天加入的門票費用 !

    本星球第一期原價 399 ,目前屬於試營運,早鳥價 139 ,每超過50人漲價10元,星球馬上要來一波大的漲價,如果你還在猶豫,可能最後就要以 更高價格加入了 。。

    早就是優勢。 建議大家盡早以便宜的價格加入!

    歡迎有需要的同學試試,如果本文對您有幫助,也請幫忙點個 贊 + 在看 啦!❤️

    在 還有更多優質計畫系統學習資源,歡迎分享給其他同學吧!

    PS:如果覺得我的分享不錯,歡迎大家隨手點贊、轉發、在看。

    最後給讀者整理了一份BAT大廠面試真題,需要的可掃碼加微信備註:「面試」獲取。

    版權申明:內容來源網路,版權歸原創者所有。除非無法確認,我們都會標明作者及出處,如有侵權煩請告知,我們會立即刪除並表示歉意。謝謝!

    END

    最近面試BAT,整理一份面試資料【Java面試BAT通關手冊】,覆蓋了Java核心技術、JVM、Java並行、SSM、微服務、資料庫、數據結構等等。在這裏,我為大家準備了一份2021年最新最全BAT等大廠Java面試經驗總結。

    別找了,想獲取史上最全的Java大廠面試題學習資料

    掃下方二維碼回復面試就好了

    歷史好文:

    掃碼關註後端架構師」,選擇星標公眾號

    重磅幹貨,第一時間送達

    ,你在看嗎?