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

๐Ÿ”ฌ์•„ํ‚คํ…์ฒ˜38

[๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค] ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์— ๋Œ€ํ•ด์„œ ๋” ์ž์„ธํ•˜๊ฒŒ ์•Œ์•„๋ณด์ž Microservice, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ž€? ์ง€๋‚œ ์‹œ๊ฐ„ Monolithic vs SOA vs Microservice ์—์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ž€ ๋ฌด์—‡์ด๊ณ  ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์•Œ์•„๋ณด์•˜๋‹ค. ์•ž์„œ ๋ง ํ–ˆ๋“ฏ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ๋งŽ์€ ์„ฑ๊ณต ์‚ฌ๋ก€๊ฐ€ ์กด์žฌํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์‹ค์ œ๋กœ ์–ด๋–ค ์„ฑ๊ณต ์‚ฌ๋ก€๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์ž. Microservice๋ฅผ ์ฃผ๋„ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๊ธฐ์—…๋“ค ํ˜„์žฌ IT ์‹œ์žฅ์—์„œ๋Š” Microservice๋ฅผ ์ฃผ๋„ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๊ธฐ์—…๋“ค์ด ์žˆ๋‹ค. ๊ทธ ์ค‘ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ๊ณณ์ด ๋ฐ”๋กœ Amazon๊ณผ Netflix์ด๋‹ค. Amazon๊ณผ Netflix์˜ MSA ์ด ์‚ฌ์ง„์€ amazon.com ์ด๋ผ๋Š” ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ MSA ์—ฐ๊ฒฐ ๊ตฌ์กฐ์ด๋‹ค. ์ด ์‚ฌ์ง„์€ netflix๊ฐ€ ๋™์˜์ƒ ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ MSA ์—ฐ.. 2021. 4. 14.
[๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค] Monolithic vs SOA vs Microservice, ๋‹ค์–‘ํ•œ ์•„ํ‚คํ…์ฒ˜์™€์˜ ๋น„๊ต ์˜ค๋Š˜์€ MSA์™€ ๋‹ค์–‘ํ•œ ์•„ํ‚คํ…์ฒ˜๋“ค์„ ๋น„๊ตํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. MSA ์•„ํ‚คํ…์ฒ˜ ์ฆ‰ Microservice Architecture๋Š” ๊ธฐ์กด์— ์กด์žฌํ•˜๋˜ ์•„ํ‚คํ…์ฒ˜์™€๋Š” ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜ ๋ฐฉ์‹์œผ๋กœ ๋‹ค์–‘ํ•œ ์•„ํ‚คํ…์ฒ˜๋“ค๊ณผ ๋น„๊ต๋˜๊ณค ํ•˜๋Š”๋ฐ, ๊ธฐ์กด์— ์กด์žฌํ•˜๋˜ ์•„ํ‚คํ…์ฒ˜์˜ ๋Œ€ํ‘œ์ ์ธ 2๊ฐ€์ง€๋ฅผ ์ด์•ผ๊ธฐ ํ•ด๋ณด๋ ค ํ•œ๋‹ค. Monolithic Architecture Service Oriented Architecture Microservice Architecture Monolichic, ๋ชจ๋†€๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜ ๋ชจ๋†€๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜๋Š” ๊ทธ๋ฆผ์—์„œ ๋ณด๋‹ค์‹ถ์ด ํ•˜๋‚˜์˜ ์„œ๋ฒ„์— ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์ด ์œ„์น˜ํ•ด์žˆ๋Š” ์•„ํ‚คํ…์ฒ˜์ด๋‹ค. ์ฆ‰, ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ์— ์ฝ”๋“œ๊ฐ€ ๋ชจ์—ฌ์žˆ๊ณ  ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋ณดํ†ต DB, View, Controller๋กœ ๊ตฌ์„ฑ๋œ ์ปดํฌ๋„ŒํŠธ๋“ค์ด ํ•˜๋‚˜์˜ ํ”„๋กœ.. 2021. 4. 14.
[๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค] ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์•„ํ‚คํ…์ณ๋ž€? ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์•„ํ‚คํ…์ฒ˜ ํด๋ผ์šฐ๋“œ์˜ ์ค‘์‹ฌ์—๋Š” AWS, Heroku, Azure, Naver Cloud Platform ๋“ฑ๊ณผ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…, Cloud Computing ๊ธฐ์ˆ ์ด ์กด์žฌํ•œ๋‹ค. ๊ทธ๋Ÿผ ์™œ ์šฐ๋ฆฌ๋Š” ํด๋ผ์šฐ๋“œ ์‹œ์Šคํ…œ์„ ์ด์šฉํ• ๊นŒ? ๊ทธ ์ด์œ ๋Š” ๋ฐ”๋กœ ํšจ์œจ์ ์ธ ๋น„์šฉ๊ณผ ์—ฐ๊ด€์ด ์žˆ๋‹ค. ๋งŒ์•ฝ ์šฐ๋ฆฌ๊ฐ€ ์นด์นด์˜คํ†ก์„ ์šด์˜ํ•˜๋Š” ์šด์˜์ž ์ž…์žฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ํ‰๊ท ์ ์œผ๋กœ ์•ฝ 10๋งŒ๋ช…์ด ๋งค๋ถ„ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ์šฐ๋ฆฌ์˜ ์„œ๋ฒ„ ์ปดํ“จํ„ฐ๋Š” 10๋งŒ๋ช…์„ ๊ฑฐ๋œฌํžˆ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€์ด์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  10๋งŒ๋ช…์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€์˜ ์ปดํ“จํ„ฐ๊ฐ€ 1์–ต์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ํ•˜์ง€๋งŒ ์—ฐ๋ง, ์—ฐ์ดˆ์— ์ƒˆํ•ด ์ธ์‚ฌ ํ˜น์€ ๋ฌธ์•ˆ ์ธ์‚ฌ๋ฅผ ๋ณด๋‚ด๋Š” ์‚ฌ์šฉ์ž๋“ค์˜ ์ˆ˜๊ฐ€ 1000๋งŒ๋ช…์ด๋ผ๋ฉด ์–ด๋–จ๊นŒ? ๊ทธ๋Ÿผ 1000๋งŒ๋ช…์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํ„ฐ๋Š” 10๋งŒ๋ช…์˜ ์ˆ˜.. 2021. 4. 14.
[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] Isolation Level, ๊ณ ๋ฆฝ ์ˆ˜์ค€ Isolation Level, ๊ณ ๋ฆฝ ์ˆ˜์ค€์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Transaction, ํŠธ๋žœ์žญ์…˜ ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋งŒ์•ฝ ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•ด์„œ ํ™•์‹คํ•˜๊ฒŒ ์ดํ•ด๋ฅผ ํ•˜์ง€ ๋ชป ํ–ˆ๋‹ค๋ฉด, ํ™•์ธํ•˜๊ณ  ์˜ค๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค! Isolation Level, ๊ณ ๋ฆฝ ์ˆ˜์ค€ Isolation Level, ๊ณ ๋ฆฝ ์ˆ˜์ค€์€ ํŠธ๋žœ์žญ์…˜๋“ค ๋ผ๋ฆฌ ์ผ๊ด€๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ผ๋งˆ๋‚˜ ํ—ˆ์šฉํ•  ๊ฒƒ์ธ์ง€๋ฅผ ์ •ํ•˜๋Š” ์ˆ˜์ค€์ด๋‹ค. ๊ณ ๋ฆฝ ์ˆ˜์ค€์—๋Š” ์ด 4๊ฐ€์ง€์˜ ์ˆ˜์ค€, 3๋‹จ๊ณ„๊ฐ€ ์กด์žฌํ•œ๋‹ค (0๋‹จ๊ณ„ ๋ถ€ํ„ฐ ์‹œ์ž‘) Level 0 Read Uncommitted Level 1 Read Committed Level 2 Repeatable Read Level 3 Serializable ์ด๋Ÿฐ ๊ณ ๋ฆฝ ์ˆ˜์ค€์—๋Š” ๋‚˜๋ฆ„์˜ ํŠน์ง•์ด ์žˆ๋‹ค. ์ด์ œ ๊ฐ๊ฐ์˜ ์ˆ˜์ค€์— ๋”ฐ๋ผ์„œ ์•Œ์•„๋ณด์ž. Isolation Le.. 2021. 4. 7.