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