JD hotkey官方版是一款京東APP后臺而研發的熱數據探測框架。該軟件能夠精準捕捉大量爬蟲、刷子用戶,可以由客戶端決定如何使用這些熱key,JD hotkey最核心的功能就是熱數據探測并推送至集群各個服務器。
軟件簡介
JD-hotkey是京東APP后臺熱數據探測框架,歷經多次高壓壓測和2020年京東618大促考驗。在上線運行的這段時間內,每天探測的key數量數十億計,精準捕獲了大量爬蟲、刷子用戶,另準確探測大量熱門商品并毫秒級推送到各個服務端內存,大幅降低了熱數據對數據層的查詢壓力,提升了應用性能。
對任意突發性的無法預先感知的熱點請求,包括并不限于熱點數據(如突發大量請求同一個商品)、熱用戶(如爬蟲、刷子)、熱接口(突發海量請求同一個接口)等,進行毫秒級精準探測到。 然后對這些熱數據、熱用戶等,推送到該應用部署的所有機器JVM內存中,以大幅減輕對后端數據存儲層的沖擊,并可以由客戶端決定如何使用這些熱key(譬如對熱商品做本地緩存、對熱用戶進行拒絕訪問、對熱接口進行熔斷或返回默認值)。 這些熱key在整個應用集群內保持一致性。
核心功能:熱數據探測并推送至集群各個服務器。
應用場景
JD-hotkey適用場景:
1、mysql熱數據本地緩存。
2、redis熱數據本地緩存。
3、黑名單用戶本地緩存。
4、爬蟲用戶限流。
5、接口、用戶維度限流。
6、單機接口、用戶維度限流限流。
7、集群用戶維度限流。
8、集群接口維度限流。