深入浅出的mysql第三版和第二版的区别_深入浅出mysql和高性能mysql哪本好
展開全部
限流算法目前程序開發過程常用的限流算法有兩個:漏桶算32313133353236313431303231363533e78988e69d8331333433663032法和令牌桶算法。
漏桶算法
漏桶算法的原理比較簡單,請求進入到漏桶中,漏桶以一定的速率漏水。當請求過多時,水直接溢出。可以看出,漏桶算法可以強制限制數據的傳輸速度。如圖所示,把請求比作是水滴,水先滴到桶里,通過漏洞并以限定的速度出水,當水來得過猛而出水不夠快時就會導致水直接溢出,即拒絕服務。
圖片來自網絡
漏桶的出水速度是恒定的,那么意味著如果瞬時大流量的話,將有大部分請求被丟棄掉(也就是所謂的溢出)。
令牌桶算法
令牌桶算法的原理是系統以一定速率向桶中放入令牌,如果有請求時,請求會從桶中取出令牌,如果能取到令牌,則可以繼續完成請求,否則等待或者拒絕服務。這種算法可以應對突發程度的請求,因此比漏桶算法好。
圖片來自網絡
漏桶算法和令牌桶算法的選擇
兩者的主要區別漏桶算法能夠強行限制處理數據的速率,不論系統是否空閑。而令牌桶算法能夠在限制數據的平均處理速率的同時還允許某種程度的突發流量。如何理解上面的含義呢?漏桶算法,比如系統吞吐量是 120/s,業務請求 130/s,使用漏斗限流 100/s,起到限流的作用,多余的請求將產生等待或者丟棄。對于令牌桶算法,每秒產生 100 個令牌,系統容量 200 個令牌。正常情況下,業務請求 100/s 時,請求能被正常被處理。當有突發流量過來比如 200 個請求時,因為系統容量有 200 個令牌可以同一時刻處理掉這 200 個請求。如果是漏桶算法,則只能處理 100 個請求,其他的請求等待或者被丟棄。
總結
以上是生活随笔為你收集整理的深入浅出的mysql第三版和第二版的区别_深入浅出mysql和高性能mysql哪本好的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CAF(C++ actor framew
- 下一篇: hdu5468 Puzzled Elen