๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ๋ฐœ/์‹œ์Šคํ…œ ๋””์ž์ธ2

์•ˆ์ • ํ•ด์‹œ ์„ค๊ณ„ ์–ธ์ œ?์–ธ์ œ ์šฐ๋ฆฌ๋Š” ์•ˆ์ • ํ•ด์‹œ๋ฅผ ํ•„์š”๋กœ ํ• ๊นŒ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ์— ๋ฒ„ํ‹ฐ๊ธฐ ์œ„ํ•ด์„œ DB๋ฅผ ๋ถ„ํ• ํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์ƒค๋“œ๋ฅผ ๊ตฌ์ถ•ํ–ˆ๋‹ค๊ณ  ํ•˜์ž์ˆ˜ํ‰์  ๊ทœ๋ชจ ํ™•์žฅ์„ฑ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์ƒค๋“œ์— ๊ท ๋“ฑํ•˜๊ฒŒ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.API ์š”์ฒญ์— ๋Œ€ํ•ด์„œ๋„ ๋™์ผํ•˜๋‹ค. ์š”์ฒญ์ด ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๊ท ๋“ฑํ•˜๊ฒŒ ๋‚˜๋ˆ ์ง€๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.์•ˆ์ • ํ•ด์‹œ๋Š” ์ด ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ณดํŽธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ  ํ•ด์‹œ ํ‚ค ์žฌ๋ฐฐ์น˜ ๋ฌธ์ œ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋ฅผ ๋’€๋Š”๋ฐ, ๊ทธ ์ค‘์— ํ•˜๋‚˜๊ฐ€ ๊ณ ์žฅ๋‚œ๋‹ค๋ฉด?N๊ฐœ์˜ ์บ์‹œ ์„œ๋ฒ„๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž.์ด ์„œ๋ฒ„๋“ค์— ๋ถ€ํ•˜๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ๋‚˜๋ˆ„๋Š” ๋ณดํŽธ์ ์ธ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์˜ ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.serverIndex = hash(key) % N[์˜ˆ์‹œ]ํ‚คํ•ด์‹œํ•ด์‹œ % 4 (์„œ๋ฒ„ ์ธ๋ฑ์Šค)key0183586171key1261435840key2181311462.. 2024. 8. 29.
์ฒ˜๋ฆฌ์œจ ์ œํ•œ ์žฅ์น˜์˜ ์„ค๊ณ„ ์ฒ˜๋ฆฌ์œจ ์ œํ•œ ์žฅ์น˜?๋„คํŠธ์›Œํฌ ์‹œ์Šคํ…œ์—์„œ ์ฒ˜๋ฆฌ์œจ ์ œํ•œ ์žฅ์น˜๋ž€?ํด๋ผ์ด์–ธํŠธ ๋˜๋Š” ์„œ๋น„์Šค๊ฐ€ ๋ณด๋‚ด๋Š” ํŠธ๋ž˜ํ”ฝ์˜ ์ฒ˜๋ฆฌ์œจ(rate)์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ ์žฅ์น˜HTTP๋ฅผ ์˜ˆ๋กœ ๋“ค๋ฉด, ํŠน์ • ๊ธฐ๊ฐ„ ๋‚ด์— ์ „์†ก๋˜๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ ํšŸ์ˆ˜๋ฅผ ์ œํ•œํ•˜๋Š” ์žฅ์น˜๊ฐ€ ๋  ๊ฒƒAPI ์š”์ฒญ ํšŸ์ˆ˜๊ฐ€ ์ž„๊ณ„์น˜๋ฅผ ๋„˜์–ด์„œ๋ฉด, ์ดํ›„์˜ ์š”์ฒญ์€ ์ฐจ๋‹จ๋œ๋‹ค ์˜ˆ์‹œ์ฒ˜๋ฆฌ์œจ ์ œํ•œ ์žฅ์น˜ ์‚ฌ์šฉ ์˜ˆ์‹œ์‚ฌ์šฉ์ž๋Š” ์ดˆ๋‹น 2ํšŒ ์ด์ƒ ์ƒˆ ๊ธ€์„ ์˜ฌ๋ฆด ์ˆ˜ ์—†๋‹ค.๊ฐ™์€ IP ์ฃผ์†Œ๋กœ๋Š” ํ•˜๋ฃจ์— 10๊ฐœ ์ด์ƒ์˜ ๊ณ„์ •์„ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๋‹ค.๊ฐ™์€ ๋””๋ฐ”์ด์Šค๋กœ๋Š” ์ฃผ๋‹น 5ํšŒ ์ด์ƒ ๋ฆฌ์›Œ๋“œ๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์—†๋‹ค. ์žฅ์ ?์ฒ˜๋ฆฌ์œจ ์ œํ•œ ์žฅ์น˜๋ฅผ ๋‘๋Š” ์ด์œ DoS(Denial of Service) ๊ณต๊ฒฉ์— ์˜ํ•œ ์ž์› ๊ณ ๊ฐˆ์„ ๋ฐฉ์ง€์„œ๋ฒ„์˜ ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์–ด, ๋น„์šฉ์ ์ธ ์ธก๋ฉด์—์„œ ์œ ๋ฆฌ์‚ฌ์šฉ์ž์˜ ์ž˜๋ชป๋œ ์ด์šฉ ํŒจํ„ด์œผ๋กœ ์ธํ•œ ์„œ๋ฒ„์˜ ๊ณผ๋ถ€ํ•˜๋ฅผ ๋ง‰์„ ์ˆ˜ .. 2024. 8. 29.