2021-03-26(Fri)

ํ•ญ๋ชฉ

๋‚ด์šฉ

ํ•™์Šต ๋‚ ์งœ

2021-03-26(๊ธˆ)

ํ•™์Šต ์‹œ๊ฐ„

11:00~23:00

ํ•™์Šต ๋ฒ”์œ„ ๋ฐ ์ฃผ์ œ

์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ

ํ•™์Šต ๋ชฉํ‘œ

์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋ฅผ ๋ง›๋ณธ๋‹ค.

๋™๋ฃŒ ํ•™์Šต ๋ฐฉ๋ฒ•

-

์ƒ์„ธ ํ•™์Šต ๋‚ด์šฉ

์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์™€ OAuth 2.0์œผ๋กœ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ

์Šคํ”„๋ง ๊ธฐ๋ฐ˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ๋ณด์•ˆ์„ ์œ„ํ•œ ํ‘œ์ค€์ด๊ณ , ์ธํ„ฐ์…‰ํ„ฐ, ํ•„ํ„ฐ ๊ธฐ๋ฐ˜์˜ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๊ถŒ์žฅํ•˜๊ณ  ์žˆ๋‹ค.

์ง๋ ฌํ™”๋ž€ ๋ฌด์—‡์ผ๊นŒ?

๊ฐ์ฒด์˜ ์ง๋ ฌํ™”๋Š” ๊ฐ์ฒด์˜ ๋‚ด์šฉ์„ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํŒŒ์ผ ๋˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด์„œ ์ŠคํŠธ๋ฆผ(์†ก์ˆ˜์‹ )์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์ž๋ฐ”์˜ I/O ์ฒ˜๋ฆฌ๋Š” ์ •์ˆ˜, ๋ฌธ์ž์—ด ๋ฐ”์ดํŠธ ๋‹จ์œ„์˜ ์ฒ˜๋ฆฌ๋งŒ ์ง€์›ํ–ˆ์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณต์žกํ•œ ๋‚ด์šฉ์„ ์ €์žฅ/๋ณต์› ํ•˜๊ฑฐ๋‚˜, ๋„คํŠธ์›Œํฌ๋กœ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ์ฒด์˜ ๋ฉค๋ฒ„๋ณ€์ˆ˜์˜ ๊ฐ ๋‚ด์šฉ์„ ์ผ์ •ํ•œ ํ˜•์‹์œผ๋กœ ๋งŒ๋“ค์–ด(์ด๊ฒƒ์„ ํŒจํ‚ท์ด๋ผ๊ณ  ํ•œ๋‹ค) ์ „์†กํ•ด์•ผ ํ–ˆ๋‹ค.

๊ฐ์ฒด ์ง๋ ฌํ™”๋Š” ๊ฐ์ฒด์˜ ๋‚ด์šฉ(๊ตฌ์ฒด์ ์œผ๋กœ๋Š” ๋ฉค๋ฒ„๋ณ€์ˆ˜์˜ ๋‚ด์šฉ)์„ ์ž๋ฐ” I/O๊ฐ€ ์ž๋™์ ์œผ๋กœ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ, ์ €์žฅ/๋ณต์›ํ•˜๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ๋กœ ์ „์†กํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์ค€๋‹ค. ์ฆ‰ ๊ฐœ๋ฐœ์ž ์ž…์žฅ์—์„œ๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋ฌด๋ฆฌ ๋ณต์žกํ•˜๋”๋ผ๋„, ๊ฐ์ฒด์ง๋ ฌํ™”๋ฅผ ์ด์šฉํ•˜๋ฉด ๊ฐ์ฒด์˜ ๋‚ด์šฉ์„ ์ž๋ฐ” I/O๊ฐ€ ์ž๋™์œผ๋กœ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ €์žฅ์ด๋‚˜ ์ „์†ก์„ ํ•ด์ฃผ๊ฒŒ ๋œ๋‹ค.

์ž๋ฐ”์—์„œ ์ง๋ ฌํ™”๋Š” ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ๊ฒƒ์ด๊ธฐ ๋–„๋ฌธ์— ์šด์˜์ฒด์ œ๊ฐ€ ๋‹ฌ๋ผ๋„ ์ „ํ˜€ ๋ฌธ์ œ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ฐ์ฒด๋ฅผ ์ง๋ ฌํ™”ํ•  ๋•Œ ๊ฐ์ฒด์˜ ๋ฉค๋ฒ„๋ณ€์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด(Serializable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ)์˜ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜์ธ ๊ฒฝ์šฐ์—๋Š” ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ•ด๋‹น ๊ฐ์ฒด๊นŒ์ง€๋„ ๊ฐ™์ด ๊ฐ์ฒด์ง๋ ฌํ™”๋ฅผ ํ•ด๋ฒ„๋ฆฐ๋‹ค.

์—”ํ‹ฐํ‹ฐ ํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ์—” ์–ธ์ œ ๋‹ค๋ฅธ ์—”ํ‹ฐํ‹ฐ์™€ ๊ด€๊ณ„(@OneToMany๋‚˜ @ManyToMany)๋ฅผ ๊ฐ–๊ฒŒ ๋˜๋ฉด ์ง๋ ฌํ™” ๋Œ€์ƒ์— ๊ด€๊ณ„๋ฅผ ๋งบ์€ ๋‹ค๋ฅธ ๊ฐ์ฒด๊นŒ์ง€ ํฌํ•จ๋˜์–ด๋ฒ„๋ฆฐ๋‹ค.

๋•Œ๋ฌธ์— ์ฑ…์—์„œ๋Š” ์—”ํ‹ฐํ‹ฐ ํด๋ž˜์Šค๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฆฌํ„ดํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ง๋ ฌํ™” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์„ธ์…˜ Dto๋ฅผ ํ•˜๋‚˜ ์ถ”๊ฐ€๋กœ ๋งŒ๋“ค์–ด์„œ ์šด์˜ ๋ฐ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋„๋ก ํ•œ ๊ฒƒ์ด๋‹ค.

๊ฐ์ฒด ์ „์†ก์˜ ๋‹จ๊ณ„

  1. ์ง๋ ฌํ™”๋œ ๊ฐ์ฒด๋ฅผ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๋ถ„ํ•ดํ•œ๋‹ค.(marshalling)

    • ๋งˆ์ƒฌ๋ง(Marshalling)์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”์ดํŠธ์˜ ๋ฉ์–ด๋ฆฌ๋กœ ๋งŒ๋“ค์–ด ์ŠคํŠธ๋ฆผ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ฐ”๊พธ๋Š” ๋ณ€ํ™˜์ž‘์—…์„ ๋œปํ•œ๋‹ค.

    • ์ž๋ฐ”์—์„œ ๋งˆ์ƒฌ๋ง์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Š” ์›์‹œ ์ž๋ฃŒํ˜•๊ณผ ๊ฐ์ฒด ์ค‘์—์„œ Serializable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ฒด์ด๋‹ค.

  2. ์ง๋ ฌํ™” ๋˜์–ด ๋ถ„ํ•ด๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ „์†กํ•œ๋‹ค.

  3. ์ „์†ก ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์›๋ž˜๋Œ€๋กœ ๋ณต๊ตฌํ•œ๋‹ค.(unmarshalling)

์„ธ์…˜ ์ €์žฅ์†Œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉํ•˜๊ธฐ

ํ˜„์žฌ๋Š” ๋‚ด์žฅ ํ†ฐ์บฃ์˜ ๋ฉ”๋ชจ๋ฆฌ์— ์„ธ์…˜์ด ์ €์žฅ๋˜๋ฏ€๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์žฌ์‹คํ–‰ํ•˜๋ฉด ๋กœ๊ทธ์ธ์ด ํ’€๋ฆฐ๋‹ค. ๋ฐฐํฌํ•  ๋•Œ๋งˆ๋‹ค ํ†ฐ์บฃ์ด ์žฌ์‹œ์ž‘๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๋•Œ๋ฌธ์— ํ˜„์—…์—์„œ๋Š” ์„ธ์…˜ ์ €์žฅ์†Œ์— ๋Œ€ํ•ด ๋‹ค์Œ 3๊ฐ€์ง€ ์ค‘ ํ•œ ๊ฐ€์ง€๋ฅผ ์„ ํƒํ•œ๋‹ค.

  1. ํ†ฐ์บฃ ์„ธ์…˜์„ ์‚ฌ์šฉํ•œ๋‹ค.

    • ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณ„๋‹ค๋ฅธ ์„ค์ •์„ ํ•˜์ง€ ์•Š์„ ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ ํƒ๋˜๋Š” ๋ฐฉ์‹

    • ํ†ฐ์บฃ(WAS)์— ์„ธ์…˜์ด ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— 2๋Œ€ ์ด์ƒ์˜ WAS๊ฐ€ ๊ตฌ๋™๋˜๋Š” ํ™˜๊ฒฝ์—์„œ๋Š” ํ†ฐ์บฃ๋“ค ๊ฐ„์˜ ์„ธ์…˜ ๊ณต์œ ๋ฅผ ์œ„ํ•œ ์ถ”๊ฐ€ ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค.

  2. MySQL๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ธ์…˜ ์ €์žฅ์†Œ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

    • ์—ฌ๋Ÿฌ WAS ๊ฐ„์˜ ๊ณต์šฉ ์„ธ์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด๋‹ค.

    • ๋งŽ์€ ์„ค์ •์ด ํ•„์š” ์—†์ง€๋งŒ, ๊ฒฐ๊ตญ ๋กœ๊ทธ์ธ ์š”์ฒญ๋งˆ๋‹ค DB IO๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ์„ฑ๋Šฅ์ƒ ์ด์Šˆ๊ฐ€ ์•ผ๊ธฐ๋  ์ˆ˜ ์žˆ๋‹ค.

    • ๋ณดํ†ต ๋กœ๊ทธ์ธ ์š”์ฒญ์ด ๋งŽ์ด ์—†๋Š” ๋ฐฑ์˜คํ”ผ์Šค, ์‚ฌ๋‚ด ์‹œ์Šคํ…œ ์šฉ๋„์—์„œ ์‚ฌ์šฉํ•œ๋‹ค.

  3. Redis, Memcached์™€ ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ DB๋ฅผ ์„ธ์…˜ ์ €์žฅ์†Œ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

    • B2C ์„œ๋น„์Šค์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

    • ์‹ค์ œ ์„œ๋น„์Šค๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Embedded Redis์™€ ๊ฐ™์€ ๋ฐฉ์‹์ด ์•„๋‹Œ ์™ธ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

์ฑ…์—์„œ๋Š” ์•„๋ž˜ ์ด์œ ์—์„œ 2๋ฒˆ์งธ ๋ฐฉ์‹์„ ์„ ํƒํ•˜๊ฒŒ ๋œ๋‹ค.

  • ์„ค์ •์ด ๊ฐ„๋‹จํ•˜๋‹ค.

  • ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์€ ์„œ๋น„์Šค๊ฐ€ ์•„๋‹ˆ๋‹ค.

  • ๋น„์šฉ ์ ˆ๊ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ ˆ๋””์Šค ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ DB๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋ ˆ๋””์Šค์™€ ๊ฐ™์€ ์„œ๋น„์Šค(์—˜๋ผ์Šคํ‹ฑ ์บ์‹œ)์— ๋ณ„๋„๋กœ ์‚ฌ์šฉ๋ฃŒ๋ฅผ ์ง€๋ถˆํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํ•™์Šต ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ฐœ์ธ์ ์ธ ์ดํ‰

์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ์ณค์Œ์—๋„ ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ๋†€๋ž๊ฒŒ๋„ ์—๋Ÿฌ ๋กœ๊ทธ๊ฐ€ ๋”ฐ๋กœ ์ฐํžˆ์ง€๋„ ์•Š์•„์„œ ์™œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋Š”์ง€ ์ถ”์ธกํ•ด์•ผํ–ˆ๋Š”๋ฐ, ์ด ๋ฌธ์ œ๋ฅผ ์ง€๊ธˆ ํ•ด๊ฒฐํ•˜๊ธฐ ๋ณด๋‹ค, ์ด์ œ ์ง€๊ธˆ ๊ฐ€์ง„ ๊ฐˆ์ฆ์„ ๋ฐ”ํƒ•์œผ๋กœ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ฐํ•˜๊ฒŒ ํ•™์Šตํ•ด๋ด์•ผ๊ฒ ๋‹ค๋Š” ๊ฒฐ์‹ฌ์ด ์„ฐ๋‹ค.

๋ฉ˜ํ† ๋‹˜๋“ค๊ณผ์˜ ๋ฉด๋‹ด์ด ์žˆ์—ˆ๋Š”๋ฐ, ํ•„์š” ์ด์ƒ์œผ๋กœ ์ž์กด๊ฐ์„ ๊นŽ์„ ํ•„์š”๋„, ์ฃผ์ œ๋„˜๊ฒŒ ์˜ค๋งŒํ•ด์งˆ ํ•„์š”๋„ ์—†๋‹ค. ์ดˆ์กฐํ•จ์„ ๋ฒ„๋ฆฌ๊ณ  ๊ฒธํ—ˆํ•˜๊ฒŒ ์‹œ๊ฐ„์„ ๋ฐ›์•„๋“ค์ด๊ณ  ๋ชฉํ‘œ๋ฅผ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜์ž.

๋‹ค์Œ ํ•™์Šต ๊ณ„ํš

  • ๋””์ž์ธํŒจํ„ด ํ•™์Šต

Last updated