Community

๐Ÿ•Š๏ธ ์‹œ์Šคํ…œ ๋””์ž์ธ ์ธํ„ฐ๋ทฐ์˜ ๊ณจ๋“ ๋ฃฐ

์‹œ์Šคํ…œ ๋””์ž์ธ์€ ๋ณต์žกํ•˜๊ณ  ํ•˜๋‚˜์˜ ๋””์ž์ธ์ด ๋ชจ๋“  ๊ฒฝ์šฐ์— ์ ํ•ฉํ•œ ๊ฒƒ๋„ ์•„๋‹™๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ ๋ฉด์ ‘์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์šฉํ•œ ๊ทœ์น™์„ ๊ณต์œ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ย  ๐Ÿ“Œ ์ฝ๊ธฐ๊ฐ€ ๋งŽ์€ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ- ์บ์‹œ ์‚ฌ์šฉ์„ ๊ณ ๋ ค ๐Ÿ“Œ ์“ฐ๊ธฐ๊ฐ€ ๋งŽ์€ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ - ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด Message Queue ์‚ฌ์šฉย ย  ๐Ÿ“Œ ๋‚ฎ์€ ์ง€์—ฐ์‹œ๊ฐ„์„ ์š”๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ - ์บ์‹œ ๋ฐ CDN ์‚ฌ์šฉ์„ ๊ณ ๋ ค ๐Ÿ“Œ ACID ์›์น™์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ - RDBMS/SQL DB๋กœ ์ด๋™ย  ๐Ÿ“Œ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ - NoSQL DB๋กœ ์ด๋™ ๐Ÿ“Œ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ(๋น„๋””์˜ค, ์ด๋ฏธ์ง€, ํŒŒ์ผ)์˜ ๊ฒฝ์šฐ - Blob/Object ์ €์žฅ์†Œ๋กœ ์ด๋™ ๐Ÿ“Œ ๋ณต์žกํ•œ ์‚ฌ์ „ ๊ณ„์‚ฐ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ - Message Queue & ์บ์‹œ๋ฅผ ์ด์šฉ ๐Ÿ“Œ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ - ๊ฒ€์ƒ‰ ์ธ๋ฑ์Šค, ํŠธ๋ฆฌ ๋˜๋Š” ๊ฒ€์ƒ‰ ์—”์ง„์„ ๊ณ ๋ ค ๐Ÿ“Œ SQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™•์žฅ - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒค๋”ฉ์„ ๊ตฌํ˜„ ๐Ÿ“Œ ๊ณ ๊ฐ€์šฉ์„ฑ, ์„ฑ๋Šฅ ๋ฐ ์ฒ˜๋ฆฌ๋Ÿ‰ - ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์‚ฌ์šฉ ๐Ÿ“Œ ๊ธ€๋กœ๋ฒŒ ๋ฐ์ดํ„ฐ ์ „์†ก - CDN ์‚ฌ์šฉ์„ ๊ณ ๋ ค ๐Ÿ“Œ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ(๋…ธ๋“œ, ์—ฃ์ง€ ๋ฐ ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ) - ๊ทธ๋ž˜ํ”„ DB๋ฅผ ์‚ฌ์šฉ ๐Ÿ“Œ ๋‹ค์–‘ํ•œ ์ปดํฌ๋„ŒํŠธ ํ™•์žฅ - ์ˆ˜ํ‰ ํ™•์žฅ์„ ๊ตฌํ˜„ ๐Ÿ“Œ ๊ณ ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ - DB ์ธ๋ฑ์Šค ์‚ฌ์šฉย  ๐Ÿ“Œ ์ผ๊ด„ ์ž‘์—… ์ฒ˜๋ฆฌ - ๋ฐฐ์น˜ ๋ฐ Message Queue ์‚ฌ์šฉ ๐Ÿ“Œ ์„œ๋ฒ„ ๋ถ€ํ•˜ ๊ด€๋ฆฌ ๋ฐ DOS ๊ณต๊ฒฉ ๋ฐฉ์ง€ - Rate Limiter ์‚ฌ์šฉ ๐Ÿ“Œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ - API Gateway ์‚ฌ์šฉ ๐Ÿ“Œ Single Point of Failure - ์ด์ค‘ํ™” ๊ตฌํ˜„ ๐Ÿ“Œ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๋‚ด๊ตฌ์„ฑ - ๋ฐ์ดํ„ฐ ๋ณต์ œ ๊ตฌํ˜„ ๐Ÿ“Œ ์‚ฌ์šฉ์ž ๊ฐ„์˜ ๋น ๋ฅธ ํ†ต์‹  - Websocket ์‚ฌ์šฉ ๐Ÿ“Œ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์˜ ์žฅ์•  ๊ฐ์ง€ - Heartbeat ๊ตฌํ˜„ ๐Ÿ“Œ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ - Checksum Algorithm ์‚ฌ์šฉ ๐Ÿ“Œ ํšจ์œจ์ ์ธ ์„œ๋ฒ„ ํ™•์žฅ - Hashing ๊ตฌํ˜„ ๐Ÿ“Œ ๋ถ„์‚ฐํ˜• ๋ฐ์ดํ„ฐ ์ „์†ก - Gossip ํ”„๋กœํ† ์ฝœ ๊ณ ๋ ค ๐Ÿ“Œ ์œ„์น˜ ๊ธฐ๋ฐ˜ ๊ธฐ๋Šฅ - Quadtree, Geohash ๋“ฑ์„ ์‚ฌ์šฉ ๐Ÿ“Œ ํŠน์ • ๊ธฐ์ˆ  ์ด๋ฆ„ ํ”ผํ•˜๊ธฐ - ์ผ๋ฐ˜์ ์ธ ์šฉ์–ด ์‚ฌ์šฉ ๐Ÿ“Œ ๊ณ ๊ฐ€์šฉ์„ฑ๊ณผ ์ผ๊ด€์„ฑ ํŠธ๋ ˆ์ด๋“œ ์˜คํ”„ - ๊ถ๊ทน์ ์ธ ์ผ๊ด€์„ฑ ๐Ÿ“Œ IP ํ™•์ธ ๋ฐ ๋„๋ฉ”์ธ ์ด๋ฆ„ ์ฟผ๋ฆฌ - DNS ์–ธ๊ธ‰ ๐Ÿ“Œ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์—์„œ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ - ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ตฌํ˜„ ๐Ÿ“Œ ์บ์‹œ ์ œ๊ฑฐ ์ •์ฑ… - LRU ์บ์‹œย  ๐Ÿ“Œ ํŠธ๋ž˜ํ”ฝ ๊ธ‰์ฆ ์ฒ˜๋ฆฌ - ์˜คํ† ์Šค์ผ€์ผ๋ง ๊ตฌํ˜„ํ•˜์—ฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๋™์ ์œผ๋กœ ๊ด€๋ฆฌ ๐Ÿ“Œ ๋ถ„์„์ด ํ•„์š”ํ•  ๋•Œ - data lake ๋˜๋Š” ์ „์šฉ DB ์‚ฌ์šฉ ๊ณ ๋ ค ๐Ÿ“Œ ๋Œ€๊ทœ๋ชจ ๋™์‹œ ์—ฐ๊ฒฐ ์ฒ˜๋ฆฌ - connection pooling์„ ์‚ฌ์šฉํ•˜๊ณ  Protobuf๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ํŽ˜์ด๋กœ๋“œ ์ตœ์†Œํ™” ๋ฒˆ์—ญ: [https://ducktopia.tistory.com/112] ์›๋ฌธ:

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค