Fixed Window Counter
μ΄ μκ³ λ¦¬μ¦μ ν΅μ¬ μμ΄λμ΄λ,
βμ ν΄μ§ μκ° κ΅¬κ°(Window)λ§λ€ μμ² νμλ₯Ό μΉ΄μ΄νΈνκ³ , κ·Έ νμκ° μ ν΄μ§ νλ(Limit)λ₯Ό λμ§ λͺ»νκ² λ§λ κ²β μ΄λ€.
κ°μ₯ κ°λ¨νκ² λΉμ νμλ©΄, "μκ°μ μΆμ λ¬Έ" κ³Ό κ°μ μ μλ€.
κ³ μ λ μκ° κ΅¬κ° (Window): μΆμ λ¬Έμ΄ μ΄λ €μλ μκ°. (μ: λ§€ 1λΆ)
μΉ΄μ΄ν° (Counter): κ·Έ μκ° λμ ν΅κ³Όν μ¬λμ μλ₯Ό μΌλ€. (μ: 1λΆ λμ 10λͺ )
μ ν (Limit): μ ν΄μ§ μΈμ(10λͺ )μ΄ λͺ¨λ ν΅κ³Όνλ©΄, λ€μ μκ°μ΄ λ λκΉμ§ λ¬Έμ λ«λλ€.
λμ λ°©μ
μκ° κ΅¬κ° μ€μ : λ¨Όμ μκ°μ κ³ μ λ ν¬κΈ°λ‘ λλλ€. μλ₯Ό λ€μ΄, 1λΆ, 10λΆ, 1μκ° λ¨μλ‘ λλ μ μλ€.
μΉ΄μ΄ν° μ΄κΈ°ν: μλ‘μ΄ μκ° κ΅¬κ°μ΄ μμλλ©΄, ν΄λΉ ꡬκ°μ μΉ΄μ΄ν°λ₯Ό 0μΌλ‘ μ΄κΈ°ννλ€.
μμ² μ²λ¦¬ λ° μΉ΄μ΄νΈ μ¦κ°: μμ²μ΄ λ€μ΄μ€λ©΄, νμ¬ μκ° κ΅¬κ°μ μΉ΄μ΄ν°λ₯Ό 1 μ¦κ°μν¨λ€.
νλ νμΈ: μΉ΄μ΄ν° κ°μ΄ 미리 μ€μ λ νλλ³΄λ€ μμμ§ νμΈνλ€.
νμ© (Allow): νλ μ΄λ΄λΌλ©΄ μμ²μ μ²λ¦¬νλ€.
κ±°λΆ (Deny): νλλ₯Ό μ΄κ³Όνλ€λ©΄ μμ²μ κ±°λΆνλ€.
μλμ° λ¦¬μ : νμ¬ μκ° κ΅¬κ°μ΄ λλκ³ λ€μ μκ° κ΅¬κ°μ΄ μμλλ©΄, μ΄μ κΈ°λ‘μ λͺ¨λ 무μνκ³ 2λ² λ¨κ³λ‘ λμκ° μΉ΄μ΄ν°λ₯Ό λ€μ 0μΌλ‘ μ΄κΈ°ννλ€.
λ§€μ° λ¨μν¨: λ‘μ§μ΄ κ°λ¨ν΄μ μ΄ν΄νκ³ κ΅¬ννκΈ° μ½λ€.
λ©λͺ¨λ¦¬ ν¨μ¨μ : νΉμ ν€(μ¬μ©μ, IP λ±)μ λν΄ νμ¬ μΉ΄μ΄ν° κ° νλλ§ μ μ₯νλ©΄ λλ―λ‘ λ©λͺ¨λ¦¬ μ¬μ©λμ΄ μ λ€.
π μΉλͺ
μ μΈ λ¨μ : μλμ° κ²½κ³ λ¬Έμ (Window Boundary Problem)
μ΄ μκ³ λ¦¬μ¦μ κ°μ₯ ν° λ¬Έμ μ μ μκ° κ΅¬κ°μ΄ λ°λλ κ²½κ³ μ§μ μμ μ€μ λ νλμ μ΅λ 2λ°°κΉμ§ μμ²μ΄ λͺ°λ¦΄ μ μλ€λ μ μ΄λ€.
μμ: 1λΆλΉ 10κ°μ μμ²μ νμ©νλ κ²½μ°
μλμ° ν¬κΈ° = 1λΆ
Limit = 10λ² μμ² νμ©
12:00:00 ~ 12:00:59β μ΅λ 10κ° νμ©12:01:00 ~ 12:01:59β μ΅λ 10κ° νμ©12:02:00 ~ 12:02:59β μ΅λ 10κ° νμ© ...μλμ° 1 (12:00:00 ~ 12:00:59)
μ¬μ©μκ°
12:00:59μ΄ λ§μ§λ§ μκ°μ 10κ° μμ²μ 보λΈλ€.β μ΄ 10κ° μμ²μ λͺ¨λ νμ©λλ€.
μλμ° 2 (12:01:00 ~ 12:01:59)
λ°λ‘ 1μ΄ νμΈ
12:01:00μ λ 10κ° μμ²μ 보λΈλ€.β μ μλμ°κ° μμλμμΌλ―λ‘, λ 10κ° μμ²μ΄ λͺ¨λ νμ©λλ€.
μ€μ λ‘λ 1μ΄(12:00:59 ~ 12:01:00 μ¬μ΄) λμ 20κ°μ μμ²μ΄ λ€μ΄μλλ°,
Fixed Window Counterλ βλΆ λ¨μλ‘λ§ μλ₯΄κΈ° λλ¬Έμβ 20κ°λ₯Ό λͺ¨λ νμ©ν΄λ²λ¦°λ€.
μ΄κ² λ°λ‘
Burst λ¬Έμ μ΄λ€.
π₯ κ²°κ³Ό: μλ² μ μ₯μμλ, μ¦ μ€μ§μ μΈ 1λΆ λμ 20κ°μ μμ²μ λ°κ² λμ΄ μκ°μ μΌλ‘ κ³ΌλΆνκ° λ°μν μ μλ€.
μ΄λ¬ν κ²½κ³ λ¬Έμ λλ¬Έμ, μ΄ μκ³ λ¦¬μ¦μ μ λ°ν μ μ΄κ° νμ μλ κ°λ¨ν μν©μμ μ¬μ©λκ±°λ, λ μ κ΅ν Sliding Windowλ Token Bucket μκ³ λ¦¬μ¦μ κ°λ μ μ΄ν΄νκΈ° μν κΈ°μ΄λ‘ μ£Όλ‘ μΈκΈλλ€.
Last updated