Guava之RateLimiter
RateLimiter概述 RateLimiter是Guava提供的的限流器。它基於令牌桶算法實現,預先設定一個速率,然後按照這個速率生成令牌,每次請求消耗一個令牌。限流是保護高併發系統的三把利器之一,另外兩個是緩存和降級,在秒殺搶購等場景中用來限制併發和請求量,保護自身系統和下游系統不被巨型流量沖垮。 核心原理 RateLimiter的核心是"令牌桶算法"。想
Nickname lenglingx
Contributes4
Followers0
RateLimiter概述 RateLimiter是Guava提供的的限流器。它基於令牌桶算法實現,預先設定一個速率,然後按照這個速率生成令牌,每次請求消耗一個令牌。限流是保護高併發系統的三把利器之一,另外兩個是緩存和降級,在秒殺搶購等場景中用來限制併發和請求量,保護自身系統和下游系統不被巨型流量沖垮。 核心原理 RateLimiter的核心是"令牌桶算法"。想
Nickname lenglingx
前言 我們的項目為了方便移植,所以選擇了阿里雲來進行部署,脱離的公司自己的技術能力平台。項目中使用sentinel做 限流,單原本的sentinel只有基於的內存存儲的單機限流攻擊,無法滿足線上軟件的要求。我們需要在sentinel的基礎上,改造dashboard完成如下能力。 接入Sentinel-Dashboard提供更靈活的限流配置管理和更直觀的查看系統資源的入口。 接入nacos 提
Nickname jian
高併發問題是指系統需要處理大量用户請求或大量併發操作時所面臨的挑戰,通常表現為請求量大、處理時間長、響應速度慢、資源耗盡等問題。為了應對高併發場景,系統需要設計成能夠高效地處理併發請求,並確保系統的穩定性和可擴展性。以下是一些常見的解決高併發問題的方法和技術: 1. 負載均衡 目的:分擔單個服務器的壓力,提高系統處理能力。 實現方式: 應用層負載均衡:使用負載均衡器(如 N
Nickname 今夜有點兒涼
大家好,我是Java烘焙師。為了避免突增流量引起服務雪崩,需要對接口、存儲資源做限流保護,根據系統負載情況設置合適的限流值。下面結合筆者的經驗和思考,對主要限流方案的選型做一下總結,本篇先看如何使用,下一篇再看背後的原理。 下面介紹幾種常見限流方案的使用方法、優缺點: 單機限流:Guava RateLimiter 同時支持單機限流、集羣限流:Sentinel 分佈式限流:Redisson
Nickname Java烘焙師