๊ณต์ฉ API๋ฅผ ์ํ ๋ ์ดํธ ๋ฆฌ๋ฐ: ์ค์ฉ์ ์ฟผํฐ์ ์ ๊ธ ํ๋ฆ
์ ์ ์ฌ์ฉ์๋ฅผ ์ฐจ๋จํ์ง ์์ผ๋ฉด์ ๋จ์ฉ์ ๋ง๋ ๊ณต์ฉ API ๋ ์ดํธ ๋ฆฌ๋ฐ: ์ค์ฉ์ ํ๋, ํค๋ณ ์ฟผํฐ, ์ ๊ธ ํ๋ฆ๊ณผ ๋ฐฐํฌ ํ.

๋ ์ดํธ ๋ฆฌ๋ฐ์ด ์ค์ ๋ก ํด๊ฒฐํ๋ ๋ฌธ์
๊ณต์ฉ API์ ๋ํ ๋ ์ดํธ ๋ฆฌ๋ฐ์ ์ฌ์ฉ์๋ฅผ ๋ฒ์ฃผ๋ ๊ฒ์ด ์๋๋๋ค. ํธ๋ํฝ์ด ์ด์ํด์ง ๋(๊ทธ "์ด์"์ด ์ ์์ ์ด๋ ๋จ์ํ ํด๋ผ์ด์ธํธ ๋ฒ๊ทธ๋ ) ์๋น์ค๋ฅผ ์ด์ฉ ๊ฐ๋ฅํ๊ฒ ์ ์งํ๋ ์์ ์ฅ์น์ ๋๋ค.
"๋จ์ฉ"์ ์ฒ์์ ์ ์์ฒ๋ผ ๋ณด์ด๊ธฐ๋ ํฉ๋๋ค. ๋ชจ๋ ์๋ํฌ์ธํธ๋ฅผ ํ์ด ๋ฐ์ดํฐ๋ฅผ ๊ธ์ด๊ฐ๋ ์คํฌ๋ ์ดํผ, ๋ฌด์ฐจ๋ณ ๋ก๊ทธ์ธ ์๋, ์ธ์ฆ ๊ฒฝ๋ก์ ๋ํ ํ ํฐ ์คํฐํ, ํ์์์ ํ์ ๊ฐ์ ์์ฒญ์ ๋น ๋ฅด๊ฒ ๋ฐ๋ณต ์ฌ์๋ํ๋ ํต์ ๋ถ๋ฅ ํด๋ผ์ด์ธํธ ๋ฑ์ ๋๋ค. ๋๋ก๋ ์๋ฌด๋ ๋น์ ์ ๊ณต๊ฒฉํ์ง ์์ต๋๋ค. ๋ชจ๋ฐ์ผ ์ฑ ์ ๋ฐ์ดํธ๊ฐ ์๋ชป๋ ์บ์ ๊ท์น์ ํฌํจํด ๊ฐ ๊ธฐ๊ธฐ๊ฐ ๋งค์ด API๋ฅผ ํด๋งํ๊ฒ ๋ ์๋ ์์ต๋๋ค.
๋ชฉํ๋ ๊ฐ๋จํฉ๋๋ค: ์ ์์ ์ธ ์ฌ์ฉ์๋ฅผ ์ฐจ๋จํ์ง ์์ผ๋ฉด์ ๊ฐ๋ ์๊ฐ์ ๋ณดํธํ๊ณ ๋น์ฉ์ ์ ์ดํ๋ ๊ฒ. ๋ฐฑ์๋๊ฐ ์ฌ์ฉ๋ ๊ธฐ๋ฐ(์ปดํจํธ, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ด๋ฉ์ผ/SMS, AI ํธ์ถ ๋ฑ)์ด๋ผ๋ฉด ํ ๋ช ์ ์๋๋ฌ์ด ์กํฐ๊ฐ ๋น์ฉ ํญ์ฆ์ ์ด๋ํ ์ ์์ต๋๋ค.
๋ ์ดํธ ๋ฆฌ๋ฐ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ต๋๋ค. ๋ชจ๋ํฐ๋ง๊ณผ ๋ช ํํ ์ค๋ฅ ์๋ต์ด ์๋ค๋ฉด ๋ฌด์ธ์ ์คํจ, ํผ๋์ค๋ฌ์ด ๊ณ ๊ฐ, "API๊ฐ ๋ค์ด๋ ๊ฒ ๊ฐ๋ค"๋ ์ง์ ํฐ์ผ์ด ์์ ๋๋ค.
์์ ํ ์์ ์ฅ์น๋ ๋ณดํต ๋ช ๊ฐ์ง ๋ณ๋ ์์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค:
- ๋ ์ดํธ ๋ฆฌ๋ฐ: ์คํ์ดํฌ๋ฅผ ๋ง๋ ๋จ๊ธฐ ์ฐฝ(caps).
- ์ฟผํฐ: ์ฌ์ฉ๋์ ์์ธก ๊ฐ๋ฅํ๊ฒ ํ๋ ์ฅ๊ธฐ ํ์ฉ๋(์ผ๊ฐ/์๊ฐ).
- ๋ฝ์์(์ ๊ธ): ๋ช ๋ฐฑํ ๋จ์ฉ ํจํด์ ๋ํ ์์ ์ฐจ๋จ.
- ์์ธ: ์ ๋ขฐ๋๋ ํตํฉ, ๋ด๋ถ ๋๊ตฌ, VIP ๊ณ ๊ฐ์ ์ํ ํ์ฉ๋ชฉ๋ก.
AppMaster ๊ฐ์ ํ๋ซํผ์ผ๋ก API ๋ฐฑ์๋๋ฅผ ๋ง๋ค๋๋ผ๋ ์ด๋ฌํ ๊ท์น์ ์ค์ํฉ๋๋ค. ๊น๋ํ ์ฝ๋๊ฐ ์์ฑ๋๋๋ผ๋, ํ ํด๋ผ์ด์ธํธ์ ๋ฌธ์ ๋ก ์ ์ฒด ์๋น์ค๋ฅผ ์์ง ์๋๋ก ๊ธฐ๋ณธ ๋ณดํธ ์ค์ ์ด ํ์ํฉ๋๋ค.
์ฃผ์ ์ฉ์ด: ๋ ์ดํธ ๋ฆฌ๋ฐ, ์ฟผํฐ, ์ค๋กํ๋ง, ๋ฝ์์
์ด ์ฉ์ด๋ค์ ์์ฌ ์ฐ์ด์ง๋ง ์๋ก ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ฌ์ฉ์์๊ฒ ๋ค๋ฅด๊ฒ ๋๊ปด์ง๋๋ค.
๋ ์ดํธ ๋ฆฌ๋ฐ, ์ฟผํฐ, ๋์์ฑ ์ ํ์ ์๋ฏธ
๋ ์ดํธ ๋ฆฌ๋ฐ์ ์๋ ์ ํ์ ๋๋ค: ์งง์ ์ฐฝ(์ด๋น, ๋ถ๋น)์ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ผ ์ ์๋ ์์ฒญ ์์ ๋๋ค. ์ฟผํฐ๋ ์์ฐ์ ๋๋ค: ๋ ๊ธด ๊ธฐ๊ฐ(์ผ๊ฐ, ์๊ฐ)์ ํ์ฉ๋๋ ์ด ์ฌ์ฉ๋์ ๋๋ค. **๋์์ฑ ์ ํ(concurrency limit)**์ ๋์์ ์ฒ๋ฆฌ ์ค์ผ ์ ์๋ ์์ฒญ ์๋ฅผ ์ ํํ๋๋ฐ, ์์ฒญ๋ฅ ์ด ์ ์์ด๋๋ผ๋ ๋น์ฉ์ด ํฐ ์๋ํฌ์ธํธ์ ์ ์ฉํฉ๋๋ค.
์ด๋์ ์ ํ์ ์ ์ฉํ๋๋๊ฐ ์ค์ํฉ๋๋ค:
- IP๋ณ: ๊ฐ๋จํ์ง๋ง ๊ณต์ ๋คํธ์ํฌ(์ฌ๋ฌด์ค, ํ๊ต, ์ด๋ํต์ ์ฌ)๋ฅผ ์ฒ๋ฒํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์๋ณ: ๋ก๊ทธ์ธ ์ฑ์ ์ ํฉํ์ง๋ง ์ ๋ขฐํ ์ ์๋ ์๋ณ์ ์์กดํฉ๋๋ค.
- API ํค๋ณ: ๊ณต์ฉ API์ ํํ ๋ฐฉ์์ผ๋ก, ์์ ๊ถ์ด ๋ช ํํ๊ณ ๋ฉ์์ง ์ ๋ฌ์ด ์ฝ์ต๋๋ค.
- ์๋ํฌ์ธํธ๋ณ: ํ ๊ฒฝ๋ก๊ฐ ๋ค๋ฅธ ๊ฒฝ๋ก๋ณด๋ค ํจ์ฌ ๋ฌด๊ฑฐ์ธ ๋ ์ ์ฉํฉ๋๋ค.
์ค๋กํ๋ง๊ณผ ์ฐจ๋จ, ๋ฝ์์์ ์์น
์ํํธ ์ค๋กํ๋ง์ ํด๋ผ์ด์ธํธ๋ฅผ ๋ฆ์ถฐ์(์ง์ฐ, ๋ฒ์คํธ ์ฉ๋ ์ถ์) ๋ณต๊ตฌํ ์ ์๊ฒ ํฉ๋๋ค. ํ๋ ๋ธ๋กํน์ ์์ฒญ์ ์ฆ์ ๊ฑฐ๋ถํ๋ฉฐ ๋ณดํต HTTP 429๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ฝ์์์ ์ผ๋ฐ์ ์ธ 429๋ณด๋ค ๊ฐ๋ ฅํฉ๋๋ค. 429๋ "๊ณง ๋ค์ ์๋ํ์ธ์"๋ผ๋ ์๋ฏธ์ธ ๋ฐ๋ฉด, ๋ฝ์์์ "์ด๋ค ์กฐ๊ฑด์ด ์ถฉ์กฑ๋ ๋๊น์ง ์ค์งํ์ธ์"๋ผ๋ ์๋ฏธ์ ๋๋ค(์: ์ฟจ๋ค์ด ๊ธฐ๊ฐ, ์๋ ๊ฒํ , ํค ์ฌ์ค์ ). ๋ฝ์์์ ์๊ฒฉ ์ฆ๋ช ์ถฉ๋ ์๋, ๊ณต๊ฒฉ์ ์คํฌ๋ ์ดํ, ๋ฐ๋ณต๋ ์๋ชป๋ ์ธ์ฆ ๋ฑ ๋ช ๋ฐฑํ ๋จ์ฉ ์ ํธ์๋ง ์์ฝํด ๋์ธ์.
AppMaster ๊ฐ์ ๋๊ตฌ๋ก API๋ฅผ ๋ง๋ ๋ค๋ฉด ์ด๋ค์ ๋ณ๊ฐ์ ์ ์ด ์๋จ์ผ๋ก ๋ค๋ฃจ์ธ์: ๋ฒ์คํธ๋ฅผ ํก์ํ๋ ๋จ๊ธฐ ์ ํ, ๋น์ฉ์ ๊ด๋ฆฌํ๋ ์ฅ๊ธฐ ์ฟผํฐ, ๋ฐ๋ณต๋ ๋์ ํ๋์๋ง ๋ฝ์์์ ์ ์ฉํ๋ ๋ฐฉ์์ ๋๋ค.
๋ฌด์์ ์ถ์ธกํ์ง ์๊ณ ์ค์ฉ์ ์ธ ํ๋ ์ ํ๊ธฐ
์ข์ ํ๋๋ ํ ๊ฐ์ง ๋ชฉํ์์ ์์ํฉ๋๋ค: ์ ์ ์ฌ์ฉ์๊ฐ ์์ ์ ๋๋ผ ์ ์๋๋ก ํ๋ฉด์ ๋ฐฑ์๋๋ฅผ ๋ณดํธํ๋ ๊ฒ. ์ฒซ๋ ์ ์๋ฒฝํ ์ซ์๊ฐ ํ์ํ์ง ์์ต๋๋ค. ์์ ํ ๊ธฐ์ค์ ์ ์ ํ๊ณ ์กฐ์ ๋ฐฉ๋ฒ์ ๋ง๋ จํ์ธ์.
๊ฐ๋จํ ์ถ๋ฐ์ ์ API ์ ํ์ ๋ง์ถ ํค๋ณ ์ ํ์ ๋๋ค:
- ๋ฎ์ ํธ๋ํฝ: ํค๋น ๋ถ๋น 60โ300 ์์ฒญ
- ์ค๊ฐ ํธ๋ํฝ: ํค๋น ๋ถ๋น 600โ1,500 ์์ฒญ
- ๋์ ํธ๋ํฝ: ํค๋น ๋ถ๋น 3,000โ10,000 ์์ฒญ
๊ทธ๋ค์ ์๋ํฌ์ธํธ ์ ํ๋ณ๋ก ํ๋๋ฅผ ๋๋๋๋ค. ์ฝ๊ธฐ ์์ฒญ์ ๋ณดํต ์ ๋ ดํ๋ฏ๋ก ๋ ๋์ ํ๋๋ฅผ ์ค ์ ์์ต๋๋ค. ์ฐ๊ธฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ๊ฐ ๋ก์ง์ ํธ๋ฆฌ๊ฑฐํ๋ฏ๋ก ๋ ์๊ฒฉํ ์ ํ์ด ํ์ํฉ๋๋ค. ํํ ํจํด์ GET์๋ ๋ถ๋น 1,000, POST/PUT/DELETE์๋ ๋ถ๋น 100โ300 ๊ฐ์ ๊ตฌ๋ถ์ ๋๋ค.
๋ํ ๋น์ฉ์ด ํฐ ์๋ํฌ์ธํธ๋ฅผ ๋ณ๋๋ก ์๋ณํ์ธ์. ๊ฒ์, ๋ฆฌํฌํธ ์์ฑ, ๋ด๋ณด๋ด๊ธฐ, ํ์ผ ์ ๋ก๋, ์ฌ๋ฌ ํ ์ด๋ธ์ ์กฐํํ๊ฑฐ๋ ๋ฌด๊ฑฐ์ด ๋น์ฆ๋์ค ๋ก์ง์ ์คํํ๋ ์์ ์ ๋ค๋ฅธ ๊ฒฝ๋ก๋ณด๋ค ์์ ๋ฒํท์ ๊ฐ์ ธ์ผ ํฉ๋๋ค. ์๊ฐ์ ์ํฌํ๋ก์ฐ(์: Business Process ํ๋ฆ)๋ฅผ ์ฌ์ฉํ๋ ๋ฐฑ์๋๋ ๋จ๊ณ๊ฐ ๋์ด๋ ์๋ก ๋ถํ๊ฐ ๋ฐฐ๊ฐ๋ฉ๋๋ค.
๋ฒ์คํธ๋ฅผ ๋๋นํด ๋ ๊ฐ์ ์ฐฝ์ ๊ณํํ์ธ์: ๋น ๋ฅธ ์คํ์ดํฌ๋ฅผ ํก์ํ ๋จ๊ธฐ ์ฐฝ๊ณผ ์ง์์ ์ฌ์ฉ์ ์ต์ ํ ์ฅ๊ธฐ ์ฐฝ. ํํ ์กฐํฉ์ 10์ด ์ฐฝ๊ณผ 10๋ถ ์ฐฝ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฌ์ฉ์๊ฐ ๋น ๋ฅด๊ฒ ํด๋ฆญํ ๋๋ ๋์ํ๊ณ , ์คํฌ๋ ์ดํผ์๊ฒ ๋ฌด์ ํ ์๋๋ฅผ ์ฃผ์ง ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก ํด๋ผ์ด์ธํธ๊ฐ ํ๋๋ฅผ ์ด๊ณผํ์ ๋์ ๋์์ ๊ฒฐ์ ํ์ธ์. ๋๋ถ๋ถ์ ๊ณต์ฉ API๋ ๋ช ํํ ์ฌ์๋ ์๊ฐ๊ณผ ํจ๊ป HTTP 429๋ฅผ ๋ฐํํฉ๋๋ค. ์์ ์ ์ง์ฐํด๋ ์์ ํ๋ค๋ฉด(์: ๋ด๋ณด๋ด๊ธฐ) ํ๋ ๋ธ๋กํน ๋์ ํ์์ ๊ณ ๋ คํด ์ค์ ์ฌ์ฉ์๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๊ฒ ํ์ธ์.
๊ณต์ ํ๊ฒ ๋๊ปด์ง๋ ํค๋ณ ์ฟผํฐ ์ค๊ณ
ํค๋ณ ์ฟผํฐ๋ ๋ณดํต ๊ณ ๊ฐ ์ฌ์ฉ ๋ฐฉ์๊ณผ ๊ฐ์ฅ ์ ๋ง๊ธฐ ๋๋ฌธ์ ๊ณต์ ํ ์ ๊ทผ์ ๋๋ค: ํ๋์ ๊ณ์ , ํ๋์ API ํค, ์ฑ ์์ด ๋ช ํํฉ๋๋ค. IP ๊ธฐ๋ฐ ์ ํ์ ์ฌ์ ํ ์ ์ฉํ์ง๋ง ๋ฌด๊ณ ํ ์ฌ์ฉ์๋ฅผ ์ฒ๋ฒํ๊ธฐ ์ฝ์ต๋๋ค.
๊ณต์ IP๊ฐ ๋ฌธ์ ์ ๋๋ค. ํ ์ฌ๋ฌด์ค ์ ์ฒด๊ฐ ํ๋์ ๊ณต์ฉ IP๋ฅผ ํตํด ๋๊ฐ ์ ์๊ณ , ์ด๋ํต์ ์ฌ๋ ์์ฒ ๊ธฐ๊ธฐ๋ฅผ ์์์ IP ๋ค์ ๋ ์ ์์ต๋๋ค. IP๋ณ ์ ํ๋ง ์์กดํ๋ฉด ํ ๋ช ์ ์๋๋ฌ์ด ์ฌ์ฉ์๊ฐ ๋ชจ๋๋ฅผ ๋๋ฆฌ๊ฒ ๋ง๋ญ๋๋ค. ํค๋ณ ์ฟผํฐ๋ ์ด๋ฅผ ํผํ ์ ์๊ณ , ๋ช ๋ฐฑํ ํ๋ฌ๋๋ฅผ ์ก๊ธฐ ์ํด ๊ฐ๋ฒผ์ด IP๋ณ ์ ํ์ ๋ณด์กฐ์๋จ์ผ๋ก ๋ ์ ์์ต๋๋ค.
์ฟผํฐ๋ฅผ ๊ณต์ ํ๊ฒ ๋๋ผ๊ฒ ํ๋ ค๋ฉด ๊ณ ๊ฐ ๋ฑ๊ธ๊ณผ ์ฐ๊ฒฐํ๋ ์ ๊ท ์ฌ์ฉ์๋ฅผ ๊ฐ๋์ง ๋ง์ธ์. ๋ฌด๋ฃ ๋๋ ํธ๋ผ์ด์ผ ํค๋ ์ค์ฌ์ฉ ํ ์คํธ์ ์ถฉ๋ถํ ๋์ํด์ผ ํ์ง๋ง ๊ท๋ชจ๊ฐ ์ปค์ ํผํด๋ฅผ ์ฃผ์ง๋ ์์์ผ ํฉ๋๋ค. ํ ๊ฐ์ง ๊ฐ๋จํ ํจํด์ ๊ด๋ํ ๋ฒ์คํธ, ์ ๋นํ ์ง์๋ฅ , ์๊ธ์ ์ ๋ง๋ ์ผ๊ฐ ์ฟผํฐ์ ๋๋ค.
์์ธก ๊ฐ๋ฅํ ํค๋ณ ์ ์ฑ :
- ์งง์ ๋ฒ์คํธ ํ์ฉ(ํ์ด์ง ๋ก๋, ๋ฐฐ์น ์ํฌํธ), ์ดํ ์์ ๋ ๋น์จ ์ ์ฉ
- ์คํฌ๋ ์ดํ๊ณผ ๋ฌดํ ๋ฃจํ๋ฅผ ์ ํํ๊ธฐ ์ํ ํค๋ณ ์ผ์ผ ํ๋ ์ถ๊ฐ
- ์๊ธ์ ๋ณ๋ก ํ๋ ์ฆ๋, ํ์ง๋ง ๊ตฌ์กฐ๋ ๋์ผํ๊ฒ ์ ์งํด ํ๋์ด ์ผ๊ด๋๊ฒ ํจ
- ์๋ก ์์ฑ๋ ํค์๋ ๋ฎ์ ์ํ์ ๋์ด ์ข์ ์ด๋ ฅ์ ์์ ๋๊น์ง ์ ํ
- ๋ช ๋ฐฑํ ํ๋ฌ๋๋ฅผ ์ก๊ธฐ ์ํ ์๊ท๋ชจ IP๋ณ ํ๋ ์ ์ง
ํค ๊ณต์ ์ ์๋ ๊ฐ์ ์ ์ต์ ํ๊ธฐ ์ํด ๊ณผ๋ํ ๊ฐ์๊ฐ ํ์ํ์ง ์์ต๋๋ค. ๋น์ ์์ ์ธ ์ง๋ฆฌ์ ์ด๋, ํ ํค์ ๋ํ ์๊ฐ๋น ์ง๋์น๊ฒ ๋ง์ ์๋ก ๋ค๋ฅธ IP, ๋์ผ ์ถ์ฒ์์ ์์ฑ๋ ๋ง์ ์ ๊ท ํค ๊ฐ์ ๊ฐ๋จํ ๊ฒ์ฌ๋ก ์์ํ์ธ์. ๋จผ์ ํ๋๊ทธ๋ฅผ ์ฌ๋ฆฌ๊ณ ์๋๋ฅผ ๋ฆ์ถ ๋ค ๋ฐ๋ณต ์ ํธ๊ฐ ์์ ๋๋ง ๋ฝ์์ํ์ธ์.
์ต๋ช ํธ๋ํฝ์๋ ๋ ์๊ฒฉํ ํ๋๊ฐ ํฉ๋ฆฌ์ ์ ๋๋ค. ํธ๋ผ์ด์ผ ํค๋ฅผ ์ ๊ณตํ๋ค๋ฉด ์๊ฒฉํ ์ ํํ๊ณ ๊ธฐ๋ณธ ๊ฒ์ฆ ๋จ๊ณ(์: ์ด๋ฉ์ผ ํ์ธ) ์์ด ํ๋๋ฅผ ๋์ด์ง ๋ง์ธ์. ๊ณต๊ฐ ํผ์ ํ์ํ๋ API๊ฐ ์๋ค๋ฉด ์ต๋ช ์๋ํฌ์ธํธ๋ฅผ ๋ณ๋๋ก ๋์ด ๋๋จธ์ง ๋ฐฑ์๋๋ฅผ ๋ณดํธํ์ธ์.
AppMaster๋ก API๋ฅผ ๊ตฌ์ถํ๋ฉด ์ธ์ฆ, ๋น์ฆ๋์ค ๊ท์น, ์๋ต ์ฒ๋ฆฌ๊ฐ ํ๊ณณ์ ๋ชจ์ฌ ํค๋ณ ๋ก์ง์ ์ผ๊ด๋๊ฒ ์ ์งํ๊ธฐ๊ฐ ๋ ์ฝ์ต๋๋ค.
ํด๋ผ์ด์ธํธ ์นํ์ ์๋ต๊ณผ ํค๋(์ฌ์ฉ์๊ฐ ๋ณต๊ตฌํ ์ ์๊ฒ)
๋ ์ดํธ ๋ฆฌ๋ฐ์ ์ฅ๊ธฐ์ ์ผ๋ก ํด๋ผ์ด์ธํธ๊ฐ ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์ง ์ดํดํ ์ ์์ด์ผ ํจ๊ณผ์ ์ ๋๋ค. ์ํ ์ฝ๋, ํ๋, ์๋ฏธ๋ฅผ ์๋ํฌ์ธํธ ์ ๋ฐ์ ๊ฑธ์ณ ์ผ๊ด๋๊ฒ ์ ์งํ์ธ์.
ํด๋ผ์ด์ธํธ๊ฐ ํ๋์ ๋๋ฌํ์ ๋๋ HTTP 429(Too Many Requests)์ ๋ช
ํํ ๋ฉ์์ง, ๊ตฌ์ฒด์ ์ธ ๋๊ธฐ ์๊ฐ์ ๋ฐํํ์ธ์. ๊ฐ์ฅ ๋น ๋ฅธ ๊ฐ์ ์ Retry-After ํค๋๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์
๋๋ค. ๊ฐ๋จํ ํด๋ผ์ด์ธํธ๋ ์ด๋ฅผ ๋ณด๊ณ ์ฌ๋ฐ๋ฅด๊ฒ ์ผ์์ค์งํ ์ ์์ต๋๋ค.
๋ช ๊ฐ์ง ํค๋๋ฅผ ์ผ๊ด๋๊ฒ ํฌํจํ๋ฉด ํ๋๋ฅผ ์ค์ค๋ก ์ค๋ช ํ ์ ์์ต๋๋ค. ์ฑ๊ณต ์๋ต๊ณผ 429 ์๋ต ๋ชจ๋์ ํฌํจํด์ ํด๋ผ์ด์ธํธ๊ฐ ์ค์ค๋ก ์๋๋ฅผ ์กฐ์ ํ๊ฑฐ๋ ๋ณต๊ตฌํ๊ฒ ํ์ธ์:
Retry-After: ์ฌ์๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ ์ดX-RateLimit-Limit: ํ์ฌ ์ฐฝ์ ํ์ฉ ์์ฒญ ์X-RateLimit-Remaining: ํ์ฌ ์ฐฝ์์ ๋จ์ ์์ฒญ ์X-RateLimit-Reset: ์ฐฝ์ด ์ฌ์ค์ ๋๋ ์๊ฐ(์ํฌํฌ ์ด ๋๋ ISO ์๊ฐ)X-RateLimit-Policy: "60 requests per 60s" ๊ฐ์ ์งง์ ์ ์ฑ ์ค๋ช
์ค๋ฅ ๋ณธ๋ฌธ์ ์ฑ๊ณต ์๋ต๋งํผ ๊ตฌ์กฐํํ์ธ์. ํํ ํจํด์ ์์ ๋ code, ์ฌ๋์ด ์ฝ์ ์ ์๋ message, ๊ทธ๋ฆฌ๊ณ ๋ณต๊ตฌ ํํธ๋ฅผ ํฌํจํ ์ค๋ฅ ๊ฐ์ฒด์
๋๋ค.
{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests. Please retry after 12 seconds.",
"retry_after_seconds": 12,
"limit": 60,
"remaining": 0,
"reset_at": "2026-01-25T12:34:56Z"
}
}
ํด๋ผ์ด์ธํธ์ 429์ด ๋ฐ์ํ์ ๋ ๋ฐฑ์คํ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์ธ์. ์ง์์ ๋ฐฑ์คํ๋ ๊ธฐ๋ณธ์ผ๋ก ์ข์ต๋๋ค: 1์ด, ๊ทธ๋ค์ 2์ด, ๊ทธ๋ค์ 4์ด, ๊ทธ๋ฆฌ๊ณ ์ํ(์: 30โ60์ด)์ ๋ก๋๋ค. ๋ํ ์ธ์ ์ฌ์๋๋ฅผ ๋ฉ์ถฐ์ผ ํ๋์ง๋ ๋ช ํํ ํ์ธ์.
์ฟผํฐ ๊ฐ๊น์ด ๊ฐ์ ๋ ๋๋ผ์ง ์๋๋ก ํ์ธ์. ํค๊ฐ ํ๋์ ๊ทผ์ (์: 80โ90%)ํ๋ฉด ๊ฒฝ๊ณ ํ๋๋ ํค๋๋ฅผ ํฌํจํด ํด๋ผ์ด์ธํธ๊ฐ ์คํจํ๊ธฐ ์ ์ ์๋๋ฅผ ๋ฆ์ถ ์ ์๊ฒ ํ์ธ์. ํ๋์ ์คํฌ๋ฆฝํธ๊ฐ ์ฌ๋ฌ ๊ฒฝ๋ก๋ฅผ ๋น ๋ฅด๊ฒ ํธ์ถํด ์์ฐ์ ๋นจ๋ฆฌ ์์งํ ์ ์์ผ๋ฏ๋ก ์ด๋ฐ ๊ฒฝ๊ณ ๋ ํนํ ์ค์ํฉ๋๋ค.
๋จ๊ณ๋ณ: ํ๋์ ์ฟผํฐ ๋กค์์ ๊ณํ
ํ๋๋ฅผ ์ ํ ํ๋์ผ๋ก ๋ค๋ฃจ๋ฉด ๋กค์์์ด ์ํํฉ๋๋ค. ๋ชฉํ๋ ๋์ผํฉ๋๋ค: ์ ์ ๊ณ ๊ฐ์ ์์ง์ผ ์ ์๊ฒ ํ๊ณ ๋ฐฑ์๋๋ฅผ ๋ณดํธํ์ธ์.
๊ฐ๋จํ ์ธ๋ฒคํ ๋ฆฌ๋ก ์์ํ์ธ์. ๋ชจ๋ ์๋ํฌ์ธํธ๋ฅผ ๋์ดํ๊ณ ๊ฐ ์๋ํฌ์ธํธ๋ฅผ ๋น์ฉ(CPU, DB ์์ , ์๋ํํฐ ํธ์ถ)๊ณผ ์ํ(๋ก๊ทธ์ธ, ๋น๋ฐ๋ฒํธ ์ฌ์ค์ , ๊ฒ์, ํ์ผ ์ ๋ก๋)์ผ๋ก ํ์ํ์ธ์. ์ด๊ฒ์ ๋ชจ๋ ๊ณณ์ ํ๋์ ์ผ๊ด ์ ํ์ ์ ์ฉํ๋ ์ค์๋ฅผ ๋ง์ต๋๋ค.
๋กค์์ ์์(๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ฌธ์ ๋ฅผ ํผํจ):
- ์๋ํฌ์ธํธ๋ฅผ ๋น์ฉ๊ณผ ์ํ์ผ๋ก ํ๊น ํ๊ณ , ๋ ์๊ฒฉํ ๊ท์น์ด ํ์ํ ๊ฒฝ๋ก(๋ก๊ทธ์ธ, ๋๋ ๋ด๋ณด๋ด๊ธฐ)๋ฅผ ๊ฒฐ์
- ์์ด๋ดํฐํฐ ํค ์ฐ์ ์์ ๊ฒฐ์ : ๋จผ์ API ํค, ๊ทธ๋ค์ ์ฌ์ฉ์ ID, IP๋ ํด๋ฐฑ
- ๋ฒ์คํธ์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๊ธฐ ์ํ ๋จ๊ธฐ(10์ด ๋๋ 1๋ถ) ์ ํ ์ถ๊ฐ
- ์ง์ ์ฌ์ฉ์ ์ ํํ๊ธฐ ์ํ ์ฅ๊ธฐ(์๊ฐ๋ณ ๋๋ ์ผ๋ณ) ์ฟผํฐ ์ถ๊ฐ
- ์ด์์ด ์ฐจ๋จ๋์ง ์๋๋ก ๋ด๋ถ ๋๊ตฌ์ ์ ๋ขฐ ์์คํ ์ ์ํ ํ์ฉ๋ชฉ๋ก ์ถ๊ฐ
์ฒซ ์ถ์์์๋ ๋ณด์์ ์ผ๋ก ์์ํ์ธ์. ๋์ค์ ๋์จํ๊ฒ ํ๋ ๊ฒ์ด ๋ถ๋ ธํ ์ฌ์ฉ์๋ฅผ ํด์ ํ๋ ๊ฒ๋ณด๋ค ์ฝ์ต๋๋ค.
๋ชจ๋ํฐ๋ง๊ณผ ํ๋, ๊ทธ๋ฆฌ๊ณ ์ ์ฑ ๋ฒ์ ๊ด๋ฆฌ๋ ํ์์ ๋๋ค. ์ผ๋ง๋ ๋ง์ ์์ฒญ์ด ํ๋์ ๊ฑธ๋ฆฌ๋์ง, ์ด๋ค ์๋ํฌ์ธํธ๊ฐ ํธ๋ฆฌ๊ฑฐํ๋์ง, ์ผ๋ง๋ ๋ง์ ๊ณ ์ ํค๊ฐ ์ํฅ์ ๋ฐ๋์ง ์ถ์ ํ์ธ์. ์์น๋ฅผ ๋ณ๊ฒฝํ ๋๋ API ๋ณ๊ฒฝ์ฒ๋ผ ๋ฌธ์ํํ๊ณ ์ ์ง์ ์ผ๋ก ๋ฐฐํฌํ๋ฉฐ ์ด์ ๊ท์น๊ณผ ์ ๊ท์น์ ๋ถ๋ฆฌํด ๋น ๋ฅด๊ฒ ๋กค๋ฐฑํ ์ ์๊ฒ ํ์ธ์.
AppMaster๋ก API๋ฅผ ๋ง๋ค๋ฉด ์๋ํฌ์ธํธ์ ๋น์ฆ๋์ค ๋ก์ง ์์์ ๊ท์น์ ๊ณํํด ๊ฐ ์ํฌํ๋ก์ฐ์ ์ค์ ๋น์ฉ์ ๋ง๊ฒ ํ๋๋ฅผ ๋ง์ถ ์ ์์ต๋๋ค.
์ฌ์ฉ์์๊ฒ ๋ถ๋ด์ ์ฃผ์ง ์๋ ๋ฝ์์ ์ํฌํ๋ก์ฐ
๋ฝ์์์ ์์ ๋ฒจํธ์ ๊ฐ์ต๋๋ค. ๋ช ๋ฐฑํ ๋จ์ฉ์ ๋น ๋ฅด๊ฒ ๋ง์์ผ ํ์ง๋ง, ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ ์ ์ ์ฌ์ฉ์๊ฐ ๋ณต๊ตฌํ ๊ธธ์ ๋ถ๋ช ํ ์ ๊ณตํด์ผ ํฉ๋๋ค.
ํ์ ์ฌ์ ์ ์งํ๋ ๋ฐฉ์์ ์ ์ง์ ์ ์ฌ์ ๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์ ์์ ์ด๋ผ๊ธฐ๋ณด๋ค ์๋ชป ๊ตฌ์ฑ๋์์ ๊ฐ๋ฅ์ฑ์ ๊ฐ์ ํ๊ณ , ๊ฐ์ ํจํด์ด ๋ฐ๋ณต๋ ๋๋ง ๋จ๊ณ์ ์ผ๋ก ๊ฐํํ์ธ์.
๊ฐ๋จํ ์ ์ง์ ๋จ๊ณ
์ค๋ช ๊ณผ ๊ตฌํ์ด ์ฌ์ด ์์ ๋จ๊ณ๋ง ์ฌ์ฉํ์ธ์:
- ๊ฒฝ๊ณ : ํ๋์ ์ ๊ทผ ์ค์์ ์๋ฆฌ๊ณ ์ฌ์ค์ ์๊ฐ ์ ๊ณต
- ์ง์ฐ: ํด๋น ํค์ ๋ํด ์งง์ ์ง์ฐ์ด๋ ์ด๋น ์ ํ ๊ฐํ
- ์์ ์ ๊ธ: ๋ช ๋ถ๊ฐ ์ฐจ๋จํ๊ณ ์ ํํ ํด์ ์๊ฐ ์ ๊ณต
- ์ฅ๊ธฐ ์ ๊ธ: ์ฌ๋ฌ ์ฐฝ์ ๊ฑธ์ณ ๋ฐ๋ณต๋๋ ๊ฒฝ์ฐ์๋ง ์ ์ฉ
- ์๋ ๊ฒํ : ์๋์ ์ด๊ฑฐ๋ ๊ณ์ ๋ฐ์ํ๋ ํจํด์ ๋ํด ์๋ ๊ฒํ
๋ฌด์์ ์ ๊ทธ๋๋๊ฐ ์ค์ํฉ๋๋ค. ํค๋ณ ์ ๊ธ์ด ๋ณดํต ๊ฐ์ฅ ๊ณต์ ํฉ๋๋ค. ๊ณ์ ๋ณ ์ ๊ธ์ ์ฌ์ฉ์๊ฐ ํค๋ฅผ ๊ต์ฒดํ ๋ ์ ์ฉํฉ๋๋ค. ์ต๋ช ํธ๋ํฝ์๋ IP๋ณ์ด ๋์์ด ๋ ์ ์์ง๋ง NAT, ์ฌ๋ฌด์ค, ์ด๋ํต์ ์ฌ ๋๋ฌธ์ ์คํ์ด ๋ฐ์ํฉ๋๋ค. ์ฌ๊ฐํ ๋จ์ฉ ์์๋ ์ ํธ๋ฅผ ์กฐํฉํ์ธ์(์: ํค๋ฅผ ์ ๊ทธ๊ณ ํด๋น IP์ ๋ํด ์ถ๊ฐ ํ์ธ ์๊ตฌ). ๋จ, ์ํฅ ๋ฒ์๋ ์๊ฒ ์ ์งํ์ธ์.
๋ฝ์์์ ์๊ฐ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ๋จ์ํ ๊ท์น์ ์ฐ์ธ์: "14:05 UTC๊น์ง ์ฐจ๋จ" ๋๋ "30๋ถ์ ์ ์ ํ์ ์ดํ ํด์ " ๊ฐ์ ๋ฐฉ์. ์๋ ์์คํ ์๋ ์๊ตฌ ์ฐจ๋จ์ ํผํ์ธ์. ์๋ชป๋ ํด๋ผ์ด์ธํธ๋ ๋น ๋ฅด๊ฒ ํ๋๋ฅผ ์์งํ๋ฏ๋ก ์ ์ฌ๋ ์๊ฐ์ ๋ฐ๋ผ ์์ํ ์ฌ๋ผ์ง๋๋ก ์ค๊ณํ์ธ์. ์ฅ๊ธฐ๊ฐ ๋ฎ์ ๋น์จ์ ์ฌ์ฉ์ ์ ์ฌ ์์ค์ ๋ฎ์ถฐ์ผ ํฉ๋๋ค.
AppMaster๋ก API๋ฅผ ๊ตฌ์ถํ๋ฉด ์ด ๊ณ๋จ์ ์ ๊ทผ์ ์นด์ดํฐ ์ ์ฅ๊ณผ ๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ก ์ฝ๊ฒ ๋งคํํด ํ์ฉ, ์ง์ฐ, ์ฐจ๋จ์ ๊ฒฐ์ ํ๊ณ ํค์ ํด์ ์๊ฐ์ ๊ธฐ๋กํ ์ ์์ต๋๋ค.
๋ฐ๋ณต ์๋ฐ์์ ๋ํด์๋ ์๋ ๊ฒํ ๊ฒฝ๋ก๋ฅผ ๋ง๋ จํ์ธ์. ์ฌ์ฉ์์ ๋ถํ์ํ๊ฒ ๋คํฌ์ง ๋ง์ธ์. ์์ฒญ ID, ํ์์คํฌํ, API ํค ์ด๋ฆ์ ์์ฒญํ๊ณ ์ฆ๊ฑฐ์ ๋ฐ๋ผ ๊ฒฐ์ ํ์ธ์.
์คํ์ ์ผ์ผํค๋ ์ผ๋ฐ์ ์ค์
์คํ(false positive)์ ๋ฐฉ์ด ์ฅ์น๊ฐ ์ ์ ์ฌ์ฉ์๋ฅผ ์ฐจ๋จํ ๋ ๋ฐ์ํฉ๋๋ค. ๋๊ฐ ๊ท์น์ด ์ค์ ์ฌ์ฉ ๋ฐฉ์์ ๋นํด ๋จ์ํ ๋ ์๊น๋๋ค.
์ ํ์ ์ธ ์ค์๋ ๋ชจ๋ ๊ฒ์ ํ๋์ ์ ์ญ ํ๋๋ฅผ ์ ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ ๋ ดํ ์ฝ๊ธฐ ์๋ํฌ์ธํธ์ ๋น์ผ ๋ด๋ณด๋ด๊ธฐ๋ฅผ ๋์ผํ๊ฒ ์ทจ๊ธํ๋ฉด, ์ ๋ ดํ ์ชฝ์ ๊ณผ๋ํ๊ฒ ๋ณดํธํด ์ฌ์ฉ์๋ฅผ ์ง์ฆ๋๊ฒ ํ๊ฑฐ๋ ๋น์ผ ์ชฝ์ ์ถฉ๋ถํ ๋ณดํธํ์ง ๋ชปํด ์ํํด์ง๋๋ค. ์๋ํฌ์ธํธ ๋น์ฉ๋ณ๋ก ํ๋๋ฅผ ๋๋๊ณ ๋ฌด๊ฑฐ์ด ๊ฒฝ๋ก์๋ ๋ ์๊ฒฉํ๊ฒ ํ์ธ์.
IP ์ ์ฉ ์ ํ๋ ํจ์ ์ ๋๋ค. ๋ง์ ์ค์ ์ฌ์ฉ์๊ฐ ํ๋์ ๊ณต์ฉ IP๋ฅผ ๊ณต์ ํฉ๋๋ค(์ฌ๋ฌด์ค, ํ๊ต, ์ด๋ํต์ ์ฌ). ํ ๋ช ์ ๋ฌด๊ฑฐ์ด ์ฌ์ฉ์๊ฐ ๋ชจ๋๋ฅผ ์ฐจ๋จํ ์ ์์ด ๋ฌด์์ ๋ค์ด์ฒ๋ผ ๋ณด์ ๋๋ค. ์ฐ์ API ํค๋ณ ์ ํ์ ์ ์ฉํ๊ณ IP๋ ๋ณด์กฐ ์ ํธ๋ก ์ฌ์ฉํ์ธ์.
์ ํ ์ ์ฅ์(limiter store)๊ฐ ๋ค์ด๋๋ฉด ์คํจ ๋ฐฉ์๋ ์คํ์ ์์ธ์ ๋๋ค. "๋ซํ(fail closed)"์ ์ ์ฒด API๋ฅผ ๋์ ์ ์๊ณ , "์ด๋ฆผ(fail open)"์ ์คํ์ดํฌ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค. ๋ถ๋ช ํ ํด๋ฐฑ ๋์์ ์ ํํ์ธ์: ์ฃ์ง์์ ์์ ๋น์ ํ๋๋ฅผ ์ ์งํ๊ณ ๋นํต์ฌ ์๋ํฌ์ธํธ์์ ์ฐ์ํ๊ฒ ์ ํํ์ธ์.
ํด๋ผ์ด์ธํธ ์ฒ๋ฆฌ๋ ๋๋ถ๋ถ์ ํ์ด ์์ํ๋ ๊ฒ๋ณด๋ค ์ค์ํฉ๋๋ค. ์ผ๋ฐ์ ์ธ 429๋ง ๋ฐํํ๋ฉด ์ฌ์ฉ์๊ฐ ๋ ๊ฒฉ๋ ฌํ ์ฌ์๋ํด ๋ ๋ง์ ์ฐจ๋จ์ ์ ๋ฐํฉ๋๋ค. ํญ์ Retry-After๋ฅผ ๋ณด๋ด๊ณ ์ค๋ฅ ํ
์คํธ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์งํ์ธ์("์ด ํค์ ์์ฒญ์ด ๋๋ฌด ๋ง์ต๋๋ค. 30์ด ํ์ ๋ค์ ์๋ํ์ธ์.").
๊ฐ์ฅ ํผํ๊ธฐ ์ฌ์ด ๋ฌธ์ ๋ ๋น๋ฐ์ฑ์ ๋๋ค. ์จ๊ฒจ์ง ํ๋๋ ๊ณ ๊ฐ์ด ์ฒ์์ผ๋ก ํ๋ก๋์ ๋ถํ๋ฅผ ๋ง๋ฌ์ ๋ ๋ฒ๊ทธ์ฒ๋ผ ๋๊ปด์ง๋๋ค. ๊ฐ๋จํ ์ ์ฑ ์ ๊ณต์ ํ๊ณ ์์ ์ ์ผ๋ก ์ ์งํ์ธ์.
์คํ์ ํผํ๊ธฐ ์ํ ๋น ๋ฅธ ์ฒดํฌ๋ฆฌ์คํธ:
- ๋น์ฉ์ด ํฐ ์๋ํฌ์ธํธ์ ์ ๋ ดํ ์๋ํฌ์ธํธ์ ๋ํ ๋ถ๋ฆฌ๋ ํ๋
- IP๋ง์ด ์๋ API ํค๋ฅผ ํตํ ๊ธฐ๋ณธ ์ ํ
- ๋ฆฌ๋ฏธํฐ๊ฐ ์ฌ์ฉ ๋ถ๊ฐ์ผ ๋์ ์ ์๋ ๋์
Retry-After๊ฐ ํฌํจ๋ ๋ช ํํ 429 ์๋ต- ์งํ ์ ํ๋ ๋ฌธ์ํ ๋ฐ ๊ณต์ง
AppMaster๋ก API๋ฅผ ๋ง๋ค๋ฉด ๋ณดํต ์๋ํฌ์ธํธ๋ณ๋ก ๋ค๋ฅธ ์บก์ ์ค์ ํ๊ณ ์ผ๊ด๋ ์ค๋ฅ ํ์ด๋ก๋๋ฅผ ๋ฐํํด ํด๋ผ์ด์ธํธ๊ฐ ์ถ์ธก ์์ด ๋ฐฑ์คํํ๋๋ก ํ ์ ์์ต๋๋ค.
๋์์ด ๋๋ ๋ชจ๋ํฐ๋ง๊ณผ ์๋ฆผ
๋ ์ดํธ ๋ฆฌ๋ฐ์ ์ค์๊ฐ์ผ๋ก ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋์ง ๋ณผ ์ ์์ด์ผ๋ง ํจ๊ณผ๊ฐ ์์ต๋๋ค. ๋ชฉํ๋ ๋ชจ๋ ์คํ์ดํฌ๋ฅผ ์ก๋ ๊ฒ์ด ์๋๋ผ ์ฅ์ ๋ ํ๋ ์ฌ์ฉ์๋ก ์ด์ด์ง ํจํด์ ํ์ ํ๋ ๊ฒ์ ๋๋ค.
๋ณผ๋ฅจ๊ณผ ์๋๋ฅผ ์ค๋ช ํ๋ ์์์ ์ ํธ๋ก ์์ํ์ธ์:
- ๋ถ๋น ์์ฒญ ์(์ ์ฒด ๋ฐ ํค๋ณ)
- 429 ๋น์จ(์ค๋กํ๋ ์์ฒญ) ๋ฐ 5xx ๋น์จ(๋ฐฑ์๋ ๋ฌธ์ )
- ๋ฐ๋ณต๋๋ 401/403 ํญ์ฆ(์๋ชป๋ ํค, ์๊ฒฉ ์ฆ๋ช ์ฑ์ฐ๊ธฐ, ์๋ชป ๊ตฌ์ฑ๋ ํด๋ผ์ด์ธํธ)
- ๋ณผ๋ฅจ๋ณ ๋ฐ ๋น์ฉ๋ณ ์์ ์๋ํฌ์ธํธ(๋๋ฆฐ ์ฟผ๋ฆฌ, ๋ฌด๊ฑฐ์ด ๋ด๋ณด๋ด๊ธฐ)
- ์์ 10์์ ์๋ก ๋ฑ์ฅํ ์๊ธฐ์น ์์ ์๋ํฌ์ธํธ
"๋์ ํธ๋ํฝ"๊ณผ "์ฐ๋ฆฌ ๋ฐฐํฌํ์"์ ๊ตฌ๋ถํ๋ ค๋ฉด ๋์๋ณด๋์ ๋ฌธ๋งฅ์ ์ถ๊ฐํ์ธ์: ๋ฐฐํฌ ์๊ฐ, ๊ธฐ๋ฅ ํ๋๊ทธ ๋ณ๊ฒฝ, ๋ง์ผํ ๋ฐ์ก ๋ฑ. ํธ๋ํฝ์ด ๋ฐฐํฌ ์งํ ์์นํ๊ณ 429/5xx ๋น์จ์ด ์ํธํ๋ฉด ๋ณดํต ์ฑ์ฅ์ด์ง ๋จ์ฉ์ด ์๋๋๋ค. ํธ๋ํฝ ์์น์ด ํ ํค, ํ IP ๋ฒ์, ๋๋ ๋ฌด๊ฑฐ์ด ์๋ํฌ์ธํธ์ ์ง์ค๋์ด ์๋ค๋ฉด ์์ฌํด๋ณด์ธ์.
์๋ฆผ์ ๋จ์กฐ๋กญ๊ฒ ๋ง๋์ธ์. ๋์ผํ ์ด๋ฒคํธ๋ก ๋งค๋ถ ์๋์ ๋ฐ์ง ์๋๋ก ์๊ณ๊ฐ๊ณผ ์ฟจ๋ค์ด์ ์ฌ์ฉํ์ธ์:
- 10๋ถ ๋์ 429 ๋น์จ์ด X% ์ด๊ณผํ๋ฉด ์๊ฐ๋น ํ ๋ฒ ์๋ฆผ
- 5๋ถ ๋์ 5xx๊ฐ Y% ์ด๊ณผํ๋ฉด ์ฆ์ ํ์ด์ง
- ํ ํค๊ฐ 15๋ถ ๋์ ์ฟผํฐ๋ฅผ Z% ์ด๊ณผํ๋ฉด ์กฐ์ฌ๋ฅผ ์์
- ๋ถ๋น N๊ฑด ์ด์์ 401/403 ํญ์ฆ์ ๋จ์ฉ ๊ฐ๋ฅ์ฑ์ผ๋ก ํ๋๊ทธ
์๋ฆผ์ด ์ธ๋ฆฌ๋ฉด ์งง์ ์ธ์๋ํธ ๋ ธํธ๋ฅผ ๋จ๊ธฐ์ธ์: ๋ณ๊ฒฝ๋ ์ฌํญ, ๊ด์ฐฐ๋ ๊ฒ(์์ ํค/์๋ํฌ์ธํธ), ์กฐ์ ํ ์ฌํญ(ํ๋, ์บ์, ์์ ์ฐจ๋จ). ์๊ฐ์ด ์ง๋๋ฉด ์ด๋ฐ ๋ ธํธ๊ฐ ์ค์ ํ๋ ์ด๋ถ์ด ๋ฉ๋๋ค.
์: ์๋ก์ด ๊ฒ์ ์๋ํฌ์ธํธ๋ฅผ ์ถ์ํ๊ณ ํธ๋ํฝ์ด ๋ ๋ฐฐ๊ฐ ๋์๋ค๊ณ ๊ฐ์ ํฉ์๋ค. ํธ์ถ์ด ๋ง์ ํค๋ค์ ๊ฑธ์ณ ๋๋ถ๋ถ ๊ทธ ์๋ํฌ์ธํธ์ ์ง์ค๋๋ค๋ฉด ํค๋ณ ์ฟผํฐ๋ฅผ ์ฝ๊ฐ ์ฌ๋ฆฌ๊ณ ์๋ํฌ์ธํธ๋ฅผ ์ต์ ํํ์ธ์. ํ ํค๊ฐ ๋ด๋ณด๋ด๊ธฐ๋ฅผ ๋ฌดํํ ํธ์ถํด ์ง์ฐ์ ์ฌ๋ฆฐ๋ค๋ฉด ํด๋น ์๋ํฌ์ธํธ๋ฅผ ๋ณ๋๋ก ์ ํํ๊ณ ์์ ์์๊ฒ ์ฐ๋ฝํ์ธ์.
์ถ์ ์ ํ์ ๋น ๋ฅธ ์ฒดํฌ๋ฆฌ์คํธ
์ ๋์ํ ๋๋ ์ง๋ฃจํ ์ค์ ์ด ์ข์ต๋๋ค. ์ด ์ฒดํฌ๋ฆฌ์คํธ๋ ๋ณดํต ์คํ์ ๋ง๋ค๊ฑฐ๋ ๋์ ๋๋ ๊ตฌ๋ฉ์ ๋จ๊ธฐ๋ ๋ฌธ์ ๋ฅผ ์ก์ต๋๋ค.
์ ์๋ํฌ์ธํธ ์ถ์ ์
์คํ ์ด์ง๊ณผ ์ถ์ ์งํ์ ๋ค์์ ํ์ธํ์ธ์:
- ์์ด๋ดํฐํฐ: ๋ฆฌ๋ฏธํฐ๊ฐ ์ฌ๋ฐ๋ฅธ ํค(์ฐ์ API ํค, ํด๋ฐฑ์ ์ฌ์ฉ์๋ IP)๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋ํ๋์ง, ํค ํ์ ์ ์ด์ ์ ์ฌ๊ฐ ์์๋์ง ์๋์ง ํ์ธ
- ํ๋: ๊ธฐ๋ณธ ํค๋ณ ์ฟผํฐ๋ฅผ ์ค์ ํ ๋ค ์๋ํฌ์ธํธ ๋น์ฉ(์ ๋ ดํ ์กฐํ vs ๋น์ผ ์ฐ๊ธฐ)์ ๋ฐ๋ผ ์กฐ์
- ์๋ต: ์ํ์ ๋ณต๊ตฌ ์ ๋ณด๋ฅผ ๋ช ํํ ๋ฐํ(์ฌ์๋ ์๊ฐ, ๋จ์ ์์ฐ, ์์ ๋ ์ค๋ฅ ์ฝ๋)
- ๋ก๊ทธ: ๋๊ฐ ์ ํ๋์๋์ง(ํค/์ฌ์ฉ์/IP), ์ด๋ค ๋ผ์ฐํธ์์ ์ด๋ค ๊ท์น์ด ๋ฐ๋ํ๋์ง, ์ง์์ ์ํ ์์ฒญ ID ๊ธฐ๋ก
- ์์ธ: ๋ชจ๋ํฐ์ ์ ๋ขฐ ํตํฉ์ ์ํ ๋น์ ํ์ฉ๋ชฉ๋ก ์ ์ง
AppMaster๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ ์ ๊ท API ์๋ํฌ์ธํธ๋ฅผ ๋น์ฉ ๋ฑ๊ธ ๊ฒฐ์ ์ผ๋ก ์ทจ๊ธํ์ธ์: ๋จ์ ์กฐํ๋ ๊ด๋ํ๊ฒ, ๋ฌด๊ฑฐ์ด ๋น์ฆ๋์ค ๋ก์ง์ ํธ๋ฆฌ๊ฑฐํ๋ ์์ ์ ์ด๊ธฐ๋ถํฐ ์๊ฒฉํ๊ฒ.
์ธ์๋ํธ ๋ฐ์ ์(๋จ์ฉ ๋๋ ๊ฐ์์ค๋ฐ ํธ๋ํฝ)
์ ์ ์ฌ์ฉ์๊ฐ ๋ณต๊ตฌํ ์ ์๊ฒ ๋ฐฑ์๋๋ฅผ ๋ณดํธํ์ธ์:
- ์ํ๋๊ฐ ๋ฎ์ ๊ฒฝ๋ก(๋ณดํต ์ฝ๊ธฐ)์ ๋ํด์๋ง ์ผ์์ ์ผ๋ก ์ํ์ ์ฌ๋ฆฌ๊ณ ์ค๋ฅ์จ์ ๊ด์ฐฐ
- ์กฐ์ฌํ๋ ๋์ ์๋ ค์ง ์ฐ์ ๊ณ ๊ฐ์ ์ํ ์งง์ ํ์ฉ๋ชฉ๋ก ์ถ๊ฐ
- ์ ์ญ ํ๋ ์ํ ๋์ ํน์ ์ํ ๊ฒฝ๋ก๋ฅผ ๋ ์๊ฒฉํ ์ ํ
- ๊ณต์ ๋คํธ์ํฌ๋ฅผ ์ฐจ๋จํ์ง ์๋๋ก ์ธ์ฆ ๊ฐํ(API ํค ์๊ตฌ, IP ์์กด๋ ์ถ์)
- ์ํ ์บก์ฒ: ์์ ํค, ์์ IP, ์ ์ ์์ด์ ํธ, ์ ํํ ํ์ด๋ก๋ ํจํด
๊ณ ๊ฐ์๊ฒ ํ๋๋ฅผ ๋๋ ค์ฃผ๊ธฐ ์ ์ ์ ์ ์์ฒญ ํจํด, ์๋ํฌ์ธํธ ๊ตฌ์ฑ, ๋ฐฐ์น ๋๋ ๋ฐฑ์คํ ์ถ๊ฐ ๊ฐ๋ฅ์ฑ์ ํ์ธํ์ธ์. ๋ํ ํ๋์ ํค๋ฅผ ์ฌ๋ฌ ์ฑ์์ ๊ณต์ ํ๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ์ธ์.
์๋ณ๋ก ๊ฒํ ํ์ธ์: ์์ ์ ํ๋ ์๋ํฌ์ธํธ, ํ๋์ ๊ฑธ๋ฆฐ ํธ๋ํฝ ๋น์จ, ์๋ก ๋ฐ๊ฒฌ๋ ๊ณ ๋น์ฉ ๊ฒฝ๋ก, ์ฟผํฐ๊ฐ ์ค์ ์ฌ์ฉ์ ๋ง๋์ง ์ฌ๋ถ.
์์ ์๋๋ฆฌ์ค: ์ฌ์ฉ์๋ฅผ ๊นจ๋จ๋ฆฌ์ง ์๊ณ ๊ณต์ฉ API ๋ณดํธํ๊ธฐ
๋น์ ์ด ์ด์ํ๋ ๊ณต์ฉ API๋ฅผ ๊ณ ๊ฐ ํฌํธ(๊ณ ๋น๋, ๊พธ์คํ ํธ๋ํฝ)๊ณผ ๋ด๋ถ ๊ด๋ฆฌ์ ๋๊ตฌ(์ ๋น๋์ง๋ง ๊ฐ๋ ฅํ ์์ ) ๋ ์ฑ์ด ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํฉ์๋ค. ๋ ๋ค API ํค๋ฅผ ์ฌ์ฉํ๊ณ ํฌํธ์๋ ์๋์ ์ ์ฉ ๋ก๊ทธ์ธ ์๋ํฌ์ธํธ๋ ์์ต๋๋ค.
์ด๋ ๋ ํํธ๋๊ฐ ๋ฒ๊ทธ ์๋ ํตํฉ์ ๋ฐฐํฌํด ์คํจํ ์์ฒญ์ ํ์ดํธ ๋ฃจํ๋ก ์ฌ์๋ํ๋ฉด์ ํ๋์ API ํค๋ก ์ด๋น 200๊ฐ์ ์์ฒญ์ ๋ณด๋ด๊ธฐ ์์ํฉ๋๋ค. ๋ฐฉ์นํ๋ฉด ๊ทธ ํ๋์ ํค๊ฐ ๋ค๋ฅธ ๋ชจ๋ ์ฌ์ฉ์๋ฅผ ๋ฐ์ด๋ผ ์ ์์ต๋๋ค.
ํค๋ณ ํ๋๋ ์ํฅ ๋ฒ์๋ฅผ ์ ํํฉ๋๋ค. ๋ฒ๊ทธ ํค๊ฐ ๋ถ๋น ํ๋์ ๊ฑธ๋ฆฌ๋ฉด 429 ์๋ต์ ๋ฐ๊ณ ๋ค๋ฅธ ๊ณ ๊ฐ์ ๊ณ์ ์๋น์ค ์ด์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ํ ๋ด๋ณด๋ด๊ธฐ ๊ฐ์ ๋น์ฉ์ด ํฐ ์๋ํฌ์ธํธ์๋ ๋ณ๋์ ๋ ๋ฎ์ ํ๋๋ฅผ ๋๋ฉด "ํ์ฉ๋" ํธ๋ํฝ์ด๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ณผ๋ถํ์ํค์ง ๋ชปํฉ๋๋ค.
๋์์ ๋ฌด์ฐจ๋ณ ๋ก๊ทธ์ธ ์๋๊ฐ ์ธ์ฆ ์๋ํฌ์ธํธ๋ฅผ ๋๋๋ฆฌ๊ณ ์๋ค๋ฉด ์ ์ฒด IP ๋ฒ์๋ฅผ ์ฐจ๋จํ๋ ๋์ , ์ด๋ฅผ ๋๋ฆฌ๊ฒ ํ๊ณ ํ๋ ๊ธฐ๋ฐ์ผ๋ก ์ ๊ธํฉ๋๋ค: ๊ณ์ ๋ณ ์คํจ ์๋ ์์ ์งง์ ์ฐฝ์์์ IP๋ณ ์คํจ ํฉ๊ณ๋ฅผ ๊ฒฐํฉํฉ๋๋ค. ๊ณต๊ฒฉ์๋ ์ ์ ๋ ๊ธด ๋๊ธฐ ์๊ฐ์ ๊ฒช๋ค๊ฐ ์์ ์ ๊ธ์ ๊ฑธ๋ฆฝ๋๋ค.
๋ช ๋ฒ ๋น๋ฐ๋ฒํธ๋ฅผ ์๋ชป ์ ๋ ฅํ ์ค์ ๊ณ ๊ฐ์ ๋ค์ ๋๋ฌธ์ ๋ณต๊ตฌํ ์ ์์ต๋๋ค:
- 429๊ณผ ํจ๊ป
Retry-After๊ฐ ์์ด ํด๋ผ์ด์ธํธ๊ฐ ์ธ์ ๋ค์ ์๋ํ ์ง ์ ์ ์์ - ์งง์ ์ ๊ธ ์ฐฝ(์: 10โ15๋ถ), ์๊ตฌ ์ฐจ๋จ์ด ์๋
- ๊ณ์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ๋ ธ์ถํ์ง ์๋ ์ผ๊ด๋ ์ค๋ฅ ๋ฉ์์ง
์์ ํ์ธ์ ์ํด ๋ช ๊ฐ์ง ์งํ๋ฅผ ๊ด์ฐฐํฉ๋๋ค:
- API ํค์ ์๋ํฌ์ธํธ๋ณ 429 ๋น์จ
- ์ธ์ฆ ์คํจ์จ๊ณผ ๋ฝ์์ ํ์
- ์ฌ๊ณ ๋์์ P95 ์ง์ฐ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค CPU
- ์ํฅ์ ๋ฐ์ ๊ณ ์ ํค ์(์์์ผ ํจ)
์ด๊ฒ์ด ์ ์ ์ฌ์ฉ์๋ฅผ ๋ฒ์ฃผ์ง ์์ผ๋ฉด์ ๋ฐฑ์๋๋ฅผ ๋ณดํธํ๋ ๋ ์ดํธ ๋ฆฌ๋ฐ์ ๋ชจ์ต์ ๋๋ค.
๋ค์ ๋จ๊ณ: ์์ ์ ์ฑ ์ ๋ง๋ จํ๊ณ ๋ฐ๋ณตํ์ธ์
์ฒซ๋ ์๋ฒฝํ ๋ชจ๋ธ์ด ํ์ํ์ง ์์ต๋๋ค. ์๊ณ ๋ช ํํ ์ ์ฑ ์ผ๋ก ์์ํด ์ค์ ์ฌ์ฉ์๋ฅผ ๊ด์ฐฐํ๋ฉฐ ๊ฐ์ ํ์ธ์.
์ ๋ขฐํ ๋งํ ์ฒซ ๋ฒ์ ์ ๋ณดํต ์ธ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค:
- ๋๋ถ๋ถ ์๋ํฌ์ธํธ๋ฅผ ์ปค๋ฒํ๋ ํค๋ณ ๊ธฐ๋ณธ๊ฐ(๋ถ๋น ์์ฒญ ์)
- ๋น์ฉ์ด ํฐ ์๋ํฌ์ธํธ(๊ฒ์, ๋ด๋ณด๋ด๊ธฐ, ํ์ผ ์ ๋ก๋, ๋ณต์กํ ๋ฆฌํฌํธ)์ ๋ํ ๋ ์๊ฒฉํ ์ํ
- ํด๋ผ์ด์ธํธ๊ฐ ๋ค์์ ๋ฌด์์ ํด์ผ ํ๋์ง ์๋ ค์ฃผ๋ ์งง์ ๋ฉ์์ง๊ฐ ํฌํจ๋ ๋ช ํํ 429 ์๋ต
๋จ์ฉ ์ํ์ด ๋๊ณ ์๋๋ฅผ ์ถ๋ก ํ๊ธฐ ์ฌ์ด ๊ณณ์๋ง ๋ฝ์์์ ์ถ๊ฐํ์ธ์. ๊ฐ์ , ๋ก๊ทธ์ธ, ๋น๋ฐ๋ฒํธ ์ฌ์ค์ , ํ ํฐ ์์ฑ์ ์ ํ์ ์ธ ํ๋ณด์ ๋๋ค. ์ ๊ธ์ ์ฒ์์ ์งง๊ฒ(๋ถ ๋จ์), ์ ์ง์ ๋ง์ฐฐ์ ์ ํธํ์ธ์: ๋๋ฆฌ๊ฒ ํ ๋ค ์์ ์ฐจ๋จ, ๊ทธ๋ค์ ๋ ๊ฐํ ํ์ธ ์๊ตฌ.
์ ์ฑ ์ ๋น์ ๋ฌธ๊ฐ๋ ์ค๋ช ํ ์ ์๊ฒ ์ฌ์ด ์ธ์ด๋ก ๋ฌธ์ํํ์ธ์. ๋ฌด์์ ์ ํํ๋์ง(ํค๋ณ, IP๋ณ, ๊ณ์ ๋ณ), ์ฌ์ค์ ์ฐฝ, ๊ณ ๊ฐ์ด ๋ณต๊ตฌํ๋ ๋ฐฉ๋ฒ์ ํฌํจํ์ธ์.
์ ๋ฐฑ์๋๋ฅผ ๊ตฌ์ถํ๋ฉด์ ์ด๋ฅผ ๊ตฌํํ๋ค๋ฉด AppMaster๋ ์ค์ฉ์ ์ธ ์ ํ์ด ๋ ์ ์์ต๋๋ค: API๋ฅผ ์์ฑํ๊ณ ๋น์ฆ๋์ค ์ํฌํ๋ก(์นด์ดํฐ์ ๋ฝ์์ ๊ฒฐ์ ํฌํจ)๋ฅผ ์๊ฐ์ ์ผ๋ก ์ ์ํ ๋ค ํด๋ผ์ฐ๋์ ๋ฐฐํฌํ๊ฑฐ๋ ํ์ํ๋ฉด ์์ฑ๋ ์์ค ์ฝ๋๋ฅผ ๋ด๋ณด๋ผ ์ ์์ต๋๋ค.


