บทความนี้ส่วนใหญ่ศึกษาเนื้อหาที่เกี่ยวข้องของการเขียนโปรแกรม Guava Ratelimiter ของ Java ดังต่อไปนี้
อัลกอริทึมถังโทเค็น
สถานการณ์ที่ 1 แอปพลิเคชันในการกำกับดูแลการจราจร
อัตราการเข้าถึงที่ได้รับความยินยอม (CAR) เป็นหนึ่งในเทคโนโลยีที่ใช้กันทั่วไปสำหรับการกำกับดูแลการจราจร มันสามารถนำไปใช้ในพอร์ตทางเข้าและออกทิศทางและโดยทั่วไปจะใช้ในทิศทางทางเข้า หลักการกำกับดูแลของมันแสดงในรูปที่ 1
. ใส่โทเค็นไปที่ถังโทเค็นในอัตราที่กำหนด
ข. จำแนกแพ็คเก็ตก่อนตามกฎการจับคู่ที่ตั้งไว้ล่วงหน้า ข้อความที่ไม่ตรงตามกฎการจับคู่ไม่จำเป็นต้องดำเนินการโดยถังโทเค็นและถูกส่งโดยตรง
ค. สำหรับแพ็คเก็ตที่ตรงกับกฎการจับคู่ถังโทเค็นจะต้องดำเนินการ เมื่อมีโทเค็นเพียงพอในถังข้อความสามารถส่งต่อไปและจำนวนโทเค็นในถังโทเค็นจะลดลงตามความยาวของข้อความ
d. เมื่อมีโทเค็นไม่เพียงพอในถังโทเค็นข้อความจะไม่ถูกส่ง ข้อความสามารถส่งได้จนกว่าโทเค็นใหม่จะถูกสร้างขึ้นในถัง สิ่งนี้สามารถ จำกัด การรับส่งข้อมูลของแพ็คเก็ตให้น้อยกว่าหรือเท่ากับความเร็วของการสร้างโทเค็นเพื่อให้บรรลุวัตถุประสงค์ในการ จำกัด การจราจร
สถานการณ์ที่สอง: ใช้สำหรับการควบคุมการไหลการป้องกันการโอเวอร์โหลดในฟิลด์แอปพลิเคชัน
ตัวอย่างการใช้งาน:
Public Class RatelimiterTest {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {สุดท้าย ratelimiter ratelimiter = ratelimiter.create (2.0); สำหรับ (int i = 0; i <100; i ++) {ratelimiter.acquire (); // พิมพ์สองครั้งต่อวินาที System.out.println (i); -สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับการวิเคราะห์อินสแตนซ์ Ratelimiter ของ Guava Programming Java ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!