์ฒ๋ฆฌ์จ ์ ํ ์ฅ์น์ ์ค๊ณ
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=278536695
[์ ์์ฑ ] ๊ฐ์ ๋ฉด์ ์ฌ๋ก๋ก ๋ฐฐ์ฐ๋ ๋๊ท๋ชจ ์์คํ ์ค๊ณ ๊ธฐ์ด
16๊ฐ์ง ์ค์ ์์คํ ์ค๊ณ ๋ฉด์ ๋ฌธ์ ์ ์์ธํ ๋ต์์ ์ ์ํ๋ค. ์์คํ ๋์ ์๋ฆฌ๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ณด์ฌ ์ฃผ๋ 188๊ฐ์ ๋ํด๋ก ์ค๋ช ํ๋ฉด์ 4๋จ๊ณ ์ ๊ทผ๋ฒ์ผ๋ก ๋ฉด์ ๋ฌธ์ ๋ฅผ ํ ์ ์๋๋ก ๋๋๋ค. ์ด ์ฑ
www.aladin.co.kr
๊ฐ์
๋คํธ์ํฌ ์์คํ ์์ ์ฒ๋ฆฌ์จ ์ ํ ์ฅ์น(Rate Limiter)๋ ํด๋ผ์ด์ธํธ ๋๋ ์๋น์ค๊ฐ ๋ณด๋ด๋ ํธ๋ํฝ์ ์ฒ๋ฆฌ์จ(rate)์ ์ ์ดํ๊ธฐ ์ํ ์ฅ์น๋ค. API ์์ฒญ ํ์๊ฐ ์ ํ ์ฅ์น์ ์ ์๋ ์๊ณ์น(threshold)๋ฅผ ๋์ด์๋ฉด ์ถ๊ฐ๋ก ๋๋ฌํ ๋ชจ๋ ํธ์ถ์ ์ฒ๋ฆฌ๊ฐ ์ค๋จ(block)๋๋ค.
์ด์ ๊ด๋ จํ์ฌ ๋ช ๊ฐ์ง ์ฌ๋ก๋ค์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ฌ์ฉ์๋ ์ด๋น 2ํ ์ด์ ์ ๊ธ์ ์ฌ๋ฆด ์ ์๋ค.
- ๊ฐ์ IP ์ฃผ์๋ก ํ๋ฃจ์ 10๊ฐ ์ด์์ ๊ณ์ ์ ์์ฑํ ์ ์๋ค.
์ด์ฒ๋ผ ์ด๋ฒ ํฌ์คํ ์์๋ ์ฒ๋ฆฌ์จ ์ ํ ์ฅ์น๋ฅผ ์ค๊ณํ๋๋ฐ, API์ ์ฒ๋ฆฌ์จ ์ ํ ์ฅ์น๋ฅผ ๋๋ฉด ์ข์ ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- DoS(Denial of Service) ๊ณต๊ฒฉ์ ์ํ ์์ ๊ณ ๊ฐ์ ๋ฐฉ์งํ ์ ์๋ค.
- ๋น์ฉ์ ์ ๊ฐํ ์ ์๋ค. (์ถ๊ฐ ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ์ ํํ์ฌ ์๋ฒ ๋น์ฉ, ์ฐ์ ์์ ๊ณ ๋ ค ๋ฑ) ์์ธ๋ฌ ์ฒ๋ฆฌ์จ ์ ํ ์ฅ์น๋ third-party API์ ์ฌ์ฉ๋ฃ๋ฅผ ์ง๋ถํ๋ ํ์ฌ๋ค์๊ฒ๋ ์์ฃผ ์ค์ํ๋ค. ์๋ฅผ ๋ค์ด ์ ์ฉ ํ์ธ, ๊ฑด๊ฐ ์ํ ํ์ธ ๋ฑ์ ํธ์ถํ๋ API์ ๋ํ ๊ณผ๊ธ์ด ํ์์ ๋ฐ๋ผ ์ด๋ฃจ์ด์ง๋ค๋ฉด, ๊ทธ ๋งํผ ๋ง์ ๋น์ฉ์ด ๋ฐ์ํ ์ ์๋ค.
- ์๋ฒ์ ๊ณผ๋ถํ๋ฅผ ๋ง์ ์ ์๋ค.
์ค์ ํธ์ํฐ๋ 3์๊ฐ ๋์ 300๊ฐ์ ํธ์๋ง ์ฌ๋ฆด ์ ์๋๋ก ์ ํํ๊ณ ์๋ค.
๊ตฌ๊ธ ๋ ์ค API๋ ์ฌ์ฉ์๋น ๋ถ๋น 300ํ์ read ์์ฒญ๋ง ํ์ฉํ๋ค.


์ฑ ์ ๋ด์ฉ์ ๊ณผ๊ฑฐ ๊ธฐ์ค์ด๋ค๋ณด๋, ํ์ฌ ํธ์ํฐ(X)์ Rate-Limiter์ ๊ธฐ์ค์ ์กฐ๊ธ ๋ค๋ฆ ๋๋ค. (Basic Limit์ด 3์๊ฐ์ 300๊ฑด)
Elon Musk์ 2023.07.02 ํธ์
https://x.com/elonmusk/status/1675187969420828672

๊ตฌ๊ธ Docs์ API๋ ์ฑ ์ ๋ด์ฉ๊ณผ ๋์ผํ๊ฒ ์ฝ๊ธฐ ์์ฒญ์ ๋ํ ๋ถ๋น ์ฒ๋ฆฌ์จ ์ ํ์ 300์ผ๋ก ์ค์ ๋์ด ์์ต๋๋ค.
๊ฐ๋ต์ ์ค๊ณ์ ์ ์ ๋ฐ ๋์ ๊ตฌํ๊ธฐ
์ฒ๋ฆฌ์จ ์ ํ ์ฅ์น๋ ์ด๋์ ๋ ๊ฒ์ธ๊ฐ?
์ฒ๋ฆฌ์จ ์ ํ ์ฅ์น๋ ํด๋ผ์ด์ธํธ, ์๋ฒ, ๋ฏธ๋ค์จ์ด(๊ฒ์ดํธ์จ์ด)์ ๋๋ ๋ฐฉ์์ด ์์ ์ ์๊ฒ ๋ค.
ํด๋ผ์ด์ธํธ ์์ฒญ์ ์ฝ๊ฒ ์๋ณ์กฐ๊ฐ ๊ฐ๋ฅํ๊ณ , ๋ชจ๋ ํด๋ผ์ด์ธํธ์ ๊ตฌํ์ ํต์ ํ๋ ๊ฒ๋ ์ด๋ ต๊ธฐ์ ํด๋ผ์ด์ธํธ๋ ์ ํ ๋์์์ ์ ์ธํ๋ค.
๊ทธ๋ ๋ค๋ฉด, ์๋ฒ๋ ๋ฏธ๋ค์จ์ด๊ฐ ๋ ํ ๋ฐ ๋น์ฐํ๊ฒ๋ ์ด์ ๋ํ ์ ๋ต์ ์๊ณ ๊ฐ ํ๊ฒฝ์ ๋ง๊ฒ ์ ํํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.


- ์๋ฒ ์ธก์์ ๋ชจ๋ ๊ฒ์ ๊ตฌํํ๊ธฐ๋ก ํ๋ค๋ฉด, ์์ ๋๊ฐ ๋ณด์ฅ์ด ๋๋ ๋ฐฉ๋ฉด, ๋ฏธ๋ค์จ์ด์ ๊ฒ์ดํธ์จ์ด๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค๋ฉด ์ ํ์ง๋ ์ ํ์ด ๋ ์๋ ์๋ค.
- ์ํคํ ์ฒ๊ฐ ๋ง์ดํฌ๋ก์๋น์ค์ ๊ธฐ๋ฐํ๊ณ ์๊ณ , ์ธ์ฆ/์ธ๊ฐ ๋ฑ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด API ๊ฒ์ดํธ์จ์ด๋ฅผ ์ด๋ฏธ ์ค๊ณ์ ํฌํจ์์ผฐ๋ค๋ฉด, ์ฒ๋ฆฌ์จ ์ ํ ๊ธฐ๋ฅ ๋ํ ๊ฒ์ดํธ์จ์ด์ ํฌํจ์ํค๋ ๊ฒ์ด ์ข์ ์ ์๋ค.
- ์ฒ๋ฆฌ์จ ์ ํ ์ฅ์น๋ฅผ ๊ตฌํํ๊ธฐ์ ์ถฉ๋ถํ ์ธ๋ ฅ/๋ฆฌ์์ค ๋ฑ์ด ์๋ค๋ฉด ์์ฉ API ๊ฒ์ดํธ์จ์ด๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
์ฒ๋ฆฌ์จ ์ ํ ์๊ณ ๋ฆฌ์ฆ
์ฒ๋ฆฌ์จ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ณธ ์์ด๋์ด๋ ๋จ์ํ๋ค. ์ผ๋ง๋ ๋ง์ ์์ฒญ์ด ์๋์ง ์ถ์ ํ ์ ์๋ ์นด์ดํฐ๋ฅผ ๋์๋ณ(์ฌ์ฉ์, IP, API ์๋ํฌ์ธํธ ๋ฑ)๋ก ์ค์ ํ๊ณ , ์นด์ดํฐ์ ๊ฐ์ด ์ค์ ํ ํ๋๋ฅผ ๋์ด์ ๋ค๋ฉด ์ถ๊ฐ ์์ฒญ์ ๊ฑฐ๋ถํ๋ ๊ฒ์ด๋ค.
์ฒ๋ฆฌ์จ ์ ํ์ ์คํํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ๋ฌ ๊ฐ์ง์ธ๋ฐ, ๊ฐ๊ธฐ ๋ค๋ฅธ ์ฅ๋จ์ ์ ๊ฐ์ง๊ณ ์๋ค. ๋ฐ๋ผ์ ๊ฐ๊ฐ์ ํน์ฑ์ ์ดํดํ๊ณ ์ํฉ์ ๋ง๋ ์๊ณ ๋ฆฌ์ฆ ์กฐํฉ์ ์ฐพ๋๋ก ํ์.
ํ ํฐ ๋ฒํท (token bucket) ์๊ณ ๋ฆฌ์ฆ
ํ ํฐ ๋ฒํท ์๊ณ ๋ฆฌ์ฆ์ ์ฒ๋ฆฌ์จ ์ ํ์ ํญ๋๊ฒ ์ด์ฉ๋๊ณ ์๋๋ฐ, ๊ฐ๋จํ๊ณ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์ดํด๋๊ฐ ๋์ผ๋ฉฐ, ์ธํฐ๋ท ๊ธฐ์ ๋ค์ด ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค.
ํ ํฐ ๋ฒํท ์๊ณ ๋ฆฌ์ฆ์ ๋์ ์๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ํ ํฐ ๋ฒํท์ ์ง์ ๋ ์ฉ๋์ ๊ฐ๋ ์ปจํ ์ด๋๋ก, ๋ฒํท์๋ ์ฌ์ ์ ์ค์ ๋ ์์ ํ ํฐ์ด ์ฃผ๊ธฐ์ ์ผ๋ก ์ฑ์์ง๋ค. ํ ํฐ์ด ๊ฝ ์ฐฌ ๋ฒํท์๋ ๋ ์ด์์ ํ ํฐ์ด ์ถ๊ฐ๋์ง ์๋๋ค.
- ํ ํฐ ๊ณต๊ธ๊ธฐ(refiller)๋ ๋ฒํท์ ๋งค์ด n๊ฐ์ ํ ํฐ์ ์ถ๊ฐํ๋ค.

๊ฐ ์์ฒญ์ ์ฒ๋ฆฌ๋ ๋๋ง๋ค ํ ํฐ์ด ์ถฉ๋ถํ์ง ๊ฒ์ฆํ์ฌ ํ๋์ ํ ํฐ์ ์ฌ์ฉํ๋ค.
- ์ถฉ๋ถํ ํ ํฐ์ด ์๋ ๊ฒฝ์ฐ, ๋ฒํท์์ ํ ํฐ ํ๋๋ฅผ ๊บผ๋ธ ํ ์์ฒญ์ ์์คํ ์ ์ ๋ฌํ๋ค.
- ์ถฉ๋ถํ ํ ํฐ์ด ์๋ ๊ฒฝ์ฐ, ํด๋น ์์ฒญ์ ๋ฒ๋ ค์ง๋ค.

์ ์ด๋ฏธ์ง๋ ํ ํฐ ๋ฒํท ์๊ณ ๋ฆฌ์ฆ์์ ๊ฐ ์์ฒญ์ ๋ํ ํ ํฐ์ ๋์ ๋ฐฉ์์ ๋ํ๋ธ๋ค.
ํ ํฐ ๋ฒํท ์๊ณ ๋ฆฌ์ฆ์ ๋ฒํท ํฌ๊ธฐ์ ํ ํฐ ๊ณต๊ธ๋ฅ ์ด 2๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ๋๋ค.
- IP ์ฃผ์๋ณ๋ก ์ฒ๋ฆฌ์จ ์ ํ์ ์ ์ฉํด์ผ ํ๋ค๋ฉด IP ์ฃผ์๋ง๋ค ๋ฒํท์ ํ๋์ฉ ํ ๋นํด์ผ ํ๋ค.
- ์์คํ ์ ์ฒ๋ฆฌ์จ์ ์ด๋น 10,000๊ฐ ์์ฒญ์ผ๋ก ์ ํํ๊ณ ์ ํ๋ค๋ฉด, ๋ชจ๋ ์์ฒญ์ด ํ๋์ ๋ฒํท์ ๊ณต์ ํ๋๋ก ํด์ผ ํ๋ค.
์ฅ์
- ๊ตฌํ์ด ์ฝ๋ค.
- ์งง์ ์๊ฐ์ ์ง์ค๋๋ ํธ๋ํฝ๋ ์ฒ๋ฆฌ ๊ฐ๋ฅํ๋ค. ๋ฒํท์ ์ํ์ ๋ฐ๋ผ ์์ฒญ์ด ์ฒ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ด๋ค.
๋จ์
- 2๊ฐ์ ํ๋ผ๋ฏธํฐ(๋ฒํท ํฌ๊ธฐ, ํ ํฐ ๊ณต๊ธ๋ฅ )์ ๊ฐ์ ์ ์ ํ๊ฒ ํ๋ํ๋ ๊ฒ์ด ๊น๋ค๋ก์ด ์ผ์ด ๋ ๊ฒ์ด๋ค.
๋์ถ ๋ฒํท (leaky bucket) ์๊ณ ๋ฆฌ์ฆ
Shopfiy์ ๋์ถ ๋ฒํท ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์ฒ๋ฆฌ์จ ์ ํ ๊ตฌํ
- https://shopify.dev/docs/api/admin-rest/usage/rate-limits
๋์ถ ๋ฒํท ์๊ณ ๋ฆฌ์ฆ์ ํ ํฐ ๋ฒํท ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋น์ทํ์ง๋ง ์์ฒญ ์ฒ๋ฆฌ์จ์ด ๊ณ ์ ๋์ด ์๋ค๋ ์ ์ด ๋ค๋ฅด๋ค. ๋์ถ ๋ฒํท ์๊ณ ๋ฆฌ์ฆ์ ๋ณดํต FIFO ํ๋ก ๊ตฌํํ๋ฉฐ, ๋์ ์๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ์์ฒญ์ด ๋์ฐฉํ๋ฉด ํ๊ฐ ๊ฐ๋ ์ฐจ ์๋์ง ๋ณด๊ณ , ๋น์๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ ํ์ ์์ฒญ์ ์ถ๊ฐํ๋ค.
- ํ๊ฐ ๊ฐ๋ ์ฐจ์๋ค๋ฉด ์ ์์ฒญ์ ๋ฒ๋ฆฐ๋ค.
- ์ง์ ๋ ์๊ฐ๋ง๋ค ํ์์ ์์ฒญ์ ๊บผ๋ด ์ฒ๋ฆฌํ๋ค.

๋์ถ ๋ฒํท ์๊ณ ๋ฆฌ์ฆ์ ๋ค์ ๋ ์ธ์๋ฅผ ์ฌ์ฉํ๋ค.
- ๋ฒํท ํฌ๊ธฐ: ํ ์ฌ์ด์ฆ์ ๊ฐ์ ๊ฐ (ํ์๋ ์ฒ๋ฆฌ๋ ํญ๋ชฉ๋ค์ ๊ด๋ฆฌ)
- ์ฒ๋ฆฌ์จ(outflow rate): ์ง์ ๋ ์๊ฐ๋น ๋ช ๊ฐ์ ํญ๋ชฉ์ ์ฒ๋ฆฌํ ์ง ์ง์ ํ๋ ๊ฐ, ๋ณดํต ์ด ๋จ์๋ก ํํ
์ฅ์
- ํ์ ํฌ๊ธฐ๊ฐ ์ ํ๋์ด ์์ด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ธก๋ฉด์์ ํจ์จ์ ์ด๋ค.
- ๊ณ ์ ๋ ์ฒ๋ฆฌ์จ์ ๊ฐ๊ณ ์๊ธฐ์ ์์ ์ ์ธ ์ถ๋ ฅ์ด ํ์ํ ๊ฒฝ์ฐ ์ ํฉํ๋ค.
๋จ์
- ๋จ์๊ฐ์ ๋ง์ ํธ๋ํฝ์ด ๋ชฐ๋ฆฌ๋ ๊ฒฝ์ฐ ํ์๋ ์ค๋๋ ์์ฒญ๋ค์ด ์์ด๊ฒ ๋๊ณ , ์์ฒญ๋ค์ ์ ์๊ฐ์ ์ฒ๋ฆฌํ์ง ๋ชปํ๋ฉด ์ต์ ์์ฒญ๋ค์ ๋ฒ๋ ค์ง๊ฒ ๋๋ค.
- ํ ํฐ ๋ฒํท ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ ์ธ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํ๋ํ๊ธฐ๊ฐ ๊น๋ค๋ก์ธ ์ ์๋ค.
๊ณ ์ ์๋ ์นด์ดํฐ (fixed window counter)
๊ณ ์ ์๋ ์นด์ดํฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ์ด ๋์ํ๋ค.
- ํ์๋ผ์ธ์ ๊ณ ์ ๋ ๊ฐ๊ฒฉ์ ์๋๋ก ๋๋๊ณ , ๊ฐ ์๋๋ง๋ค ์นด์ดํฐ๋ฅผ ๋ถ์ธ๋ค.
- ์์ฒญ์ด ์ ์๋ ๋๋ง๋ค ์นด์ดํฐ์ ๊ฐ์ 1์ฉ ์ฆ๊ฐํ๋ค.
- ์นด์ดํฐ์ ๊ฐ์ด ์ฌ์ ์ ์ค์ ๋ ์๊ณ์น์ ๋๋ฌํ๋ฉด ์๋ก์ด ์์ฒญ์ ์ ์๋๊ฐ ์ด๋ฆด ๋๊น์ง ๋ฒ๋ ค์ง๋ค.

์ ์ด๋ฏธ์ง์์ ํ์๋ผ์ธ์ ์๊ฐ ๋จ์๋ 1์ด์ด๊ณ , ์์คํ ์ ์ด๋น 3๊ฐ๊น์ง์ ์์ฒญ๋ง์ ํ์ฉํ๋ค.
๋ฐ๋ผ์ ๋งค์ด๋ง๋ค ์ด๋ฆฌ๋ ์๋์ 3๊ฐ ์ด์์ ์์ฒญ์ด ์จ๋ค๋ฉด, ์ด๊ณผ ์์ฒญ์ ๋ฒ๋ ค์ง๊ฒ ๋๋ค.
์ด ์๊ณ ๋ฆฌ์ฆ์์ ํ์๋ผ์ธ์ ์ฃผ๊ธฐ๊ฐ ๊ธธ์ด์ง์๋ก ๊ฒฝ๊ณ ๋ถ๊ทผ์์ ์๊ฐ์ ์ผ๋ก ๋ง์ ํธ๋ํฝ์ด ์ง์ค๋ ๊ฒฝ์ฐ ์๋์ ํ ๋น๋ ์๋ณด๋ค ๋ ๋ง์ ์์ฒญ์ด ์ฒ๋ฆฌ๋ ์ ์๋ค.
์๋ฅผ ๋ค์ด, ๋ถ๋น ์ต๋ 5๊ฐ์ ์์ฒญ๋ง์ ํ์ฉํ๋ ์์คํ ์์ ์นด์ดํฐ๋ ๋งค๋ถ๋ง๋ค ์ด๊ธฐํ๋๋ค๊ณ ๊ฐ์ ํ๋ค๋ฉด,,
- 2:00 ~ 2:01 ์ฌ์ด์ 5๊ฐ์ ์์ฒญ์ด ๋ค์ด์๊ณ ,
- 2:01 ~ 2:02 ์ฌ์ด์ 5๊ฐ์ ์์ฒญ์ด ๋ค์ด์๋ค.
- ํ์ง๋ง 2:00:30 ~ 2:01:30 ์ผ๋ก ์์น๋ฅผ ์ฎ๊ฒจ์ ๋ณธ๋ค๋ฉด ์ฒ๋ฆฌํ ์์ฒญ์ ์ด 10๊ฐ๋ก, ํ์ฉ ํ๋์ 2๋ฐฐ๊ฐ ๋๋ค.
์ฅ์
- ์ดํดํ๊ธฐ ์ฝ๋ค.
- ์๋๊ฐ ๋ซํ๋ ์์ ์ ์นด์ดํฐ๋ฅผ ์ด๊ธฐํํ๋ ๋ฐฉ์์ ํน์ ํธ๋ํฝ ํจํด์ ์ฒ๋ฆฌํ๊ธฐ์ ์ ํฉํ๋ค.
๋จ์
- ๊ฒฝ๊ณ ๋ถ๊ทผ์์ ์ผ์์ ์ผ๋ก ๋ง์ ํธ๋ํฝ์ด ๋ฐ์ํ๋ค๋ฉด, ์ฒ๋ฆฌ ํ๋๋ณด๋ค ๋ง์ ์์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ฒ ๋ ์ ์๋ค.
๊ณ ์ ์๋ ์นด์ดํฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌธ์ ์ ์ ๊ฐ์ ํ๊ณ ์ ์ด๋ ์๋ ๋ก๊น ์๊ณ ๋ฆฌ์ฆ, ์ด๋ ์๋ ์นด์ดํฐ ์๊ณ ๋ฆฌ์ฆ ๋ฑ์ด ์กด์ฌํ๋ค.
์์ธ ์ค๊ณ

- ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ์๋ฒ์ ๋ณด๋ด๋ฉด ์์ฒญ์ ๋จผ์ ์ฒ๋ฆฌ์จ ์ ํ ๋ฏธ๋ค์จ์ด์ ๋๋ฌํ๋ค.
- ์ฒ๋ฆฌ์จ ์ ํ ๋ฏธ๋ค์จ์ด๋ ์ ํ ๊ท์น ๋ฐ ์นด์ดํฐ, ๋ง์ง๋ง ์์ฒญ์ ํ์์คํฌํ ๋ฑ์ ์บ์(Redis)์์ ๊ฐ์ ธ์จ๋ค. ๊ฐ์ ธ์จ ๊ฐ๋ค์ ๊ทผ๊ฑฐํ์ฌ ๋ฏธ๋ค์จ์ด๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ์ ์ ๋ด๋ฆฐ๋ค.
- ํด๋น ์์ฒญ์ด ์ฒ๋ฆฌ์จ ์ ํ์ ๊ฑธ๋ฆฌ์ง ์์ ๊ฒฝ์ฐ API ์๋ฒ๋ก ์ ์กํ๋ค.
- ํด๋น ์์ฒญ์ด ์ฒ๋ฆฌ์จ ์ ํ์ ๊ฑธ๋ฆฐ๋ค๋ฉด, 429: too many requests ์๋ฌ๋ฅผ ํด๋ผ์ด์ธํธ์ ๋ณด๋ด๋๋ฐ, ์ด ๋ ์์ฒญ์ ๊ทธ๋๋ก ๋ฒ๋ฆด ์ ์๊ณ (์ต์ 1), ๋ฉ์์ง ํ์ ๋ณด๊ด(์ต์ 2)ํ ์๋ ์๋ค.
์ฒ๋ฆฌ์จ ์ ํ์ ํํผํ๊ธฐ ์ํ ํด๋ผ์ด์ธํธ๋ ์ด๋ป๊ฒ ์ค๊ณํ๋ ๊ฒ์ด ์ต์ ์ผ๊น? ๋ค์ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํด๋ณผ ์ ์๊ฒ ๋ค.
- ํด๋ผ์ด์ธํธ ์ธก ์บ์๋ฅผ ํ์ฉํ์ฌ API ํธ์ถ ํ์๋ฅผ ์ค์ธ๋ค.
- ์ฒ๋ฆฌ์จ ์ ํ์ ์๊ณ์น๋ฅผ ํ์ ํ๊ณ , ์ด๋ฅผ ๊ณ ๋ คํ์ฌ ์งง์ ์๊ฐ์ ๋ง์ ๋ฉ์์ง๋ฅผ ์ ์กํ์ง ์๋๋ค.
- ์ฌ์๋(Retry) ๋ก์ง์ ๊ตฌํํ ๋๋ ์ถฉ๋ถํ ๋ฐฑ์คํ(back-off) ์๊ฐ์ ๋๋ค.