2021-03-26(Fri)
ํญ๋ชฉ | ๋ด์ฉ |
ํ์ต ๋ ์ง | 2021-03-26(๊ธ) |
ํ์ต ์๊ฐ | 11:00~23:00 |
ํ์ต ๋ฒ์ ๋ฐ ์ฃผ์ | ์คํ๋ง ์ํ๋ฆฌํฐ |
ํ์ต ๋ชฉํ | ์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ๋ง๋ณธ๋ค. |
๋๋ฃ ํ์ต ๋ฐฉ๋ฒ | - |
์์ธ ํ์ต ๋ด์ฉ
์คํ๋ง ์ํ๋ฆฌํฐ์ OAuth 2.0์ผ๋ก ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ
์คํ๋ง ๊ธฐ๋ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ๋ณด์์ ์ํ ํ์ค์ด๊ณ , ์ธํฐ์ ํฐ, ํํฐ ๊ธฐ๋ฐ์ ๋ณด์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฒ๋ณด๋ค ๋ ๊ถ์ฅํ๊ณ ์๋ค.
์ง๋ ฌํ๋ ๋ฌด์์ผ๊น?
๊ฐ์ฒด์ ์ง๋ ฌํ๋ ๊ฐ์ฒด์ ๋ด์ฉ์ ๋ฐ์ดํธ ๋จ์๋ก ๋ณํํ์ฌ ํ์ผ ๋๋ ๋คํธ์ํฌ๋ฅผ ํตํด์ ์คํธ๋ฆผ(์ก์์ )์ด ๊ฐ๋ฅํ๋๋ก ํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
์๋ฐ์ I/O ์ฒ๋ฆฌ๋ ์ ์, ๋ฌธ์์ด ๋ฐ์ดํธ ๋จ์์ ์ฒ๋ฆฌ๋ง ์ง์ํ์๋ค. ๋ฐ๋ผ์ ๋ณต์กํ ๋ด์ฉ์ ์ ์ฅ/๋ณต์ ํ๊ฑฐ๋, ๋คํธ์ํฌ๋ก ์ ์กํ๊ธฐ ์ํด์๋ ๊ฐ์ฒด์ ๋ฉค๋ฒ๋ณ์์ ๊ฐ ๋ด์ฉ์ ์ผ์ ํ ํ์์ผ๋ก ๋ง๋ค์ด(์ด๊ฒ์ ํจํท์ด๋ผ๊ณ ํ๋ค) ์ ์กํด์ผ ํ๋ค.
๊ฐ์ฒด ์ง๋ ฌํ๋ ๊ฐ์ฒด์ ๋ด์ฉ(๊ตฌ์ฒด์ ์ผ๋ก๋ ๋ฉค๋ฒ๋ณ์์ ๋ด์ฉ)์ ์๋ฐ I/O๊ฐ ์๋์ ์ผ๋ก ๋ฐ์ดํธ ๋จ์๋ก ๋ณํํ์ฌ, ์ ์ฅ/๋ณต์ํ๊ฑฐ๋ ๋คํธ์ํฌ๋ก ์ ์กํ ์ ์๋๋ก ๊ธฐ๋ฅ์ ์ ๊ณตํด์ค๋ค. ์ฆ ๊ฐ๋ฐ์ ์ ์ฅ์์๋ ๊ฐ์ฒด๊ฐ ์๋ฌด๋ฆฌ ๋ณต์กํ๋๋ผ๋, ๊ฐ์ฒด์ง๋ ฌํ๋ฅผ ์ด์ฉํ๋ฉด ๊ฐ์ฒด์ ๋ด์ฉ์ ์๋ฐ I/O๊ฐ ์๋์ผ๋ก ๋ฐ์ดํธ ๋จ์๋ก ๋ณํํ์ฌ ์ ์ฅ์ด๋ ์ ์ก์ ํด์ฃผ๊ฒ ๋๋ค.
์๋ฐ์์ ์ง๋ ฌํ๋ ์๋์ผ๋ก ์ฒ๋ฆฌํด์ฃผ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ด์์ฒด์ ๊ฐ ๋ฌ๋ผ๋ ์ ํ ๋ฌธ์ ๋์ง ์๋๋ค. ๊ฐ์ฒด๋ฅผ ์ง๋ ฌํํ ๋ ๊ฐ์ฒด์ ๋ฉค๋ฒ๋ณ์๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด(Serializable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ)์ ๋ ํผ๋ฐ์ค ๋ณ์์ธ ๊ฒฝ์ฐ์๋ ๋ ํผ๋ฐ์ค ๋ณ์๊ฐ ๊ฐ๋ฆฌํค๋ ํด๋น ๊ฐ์ฒด๊น์ง๋ ๊ฐ์ด ๊ฐ์ฒด์ง๋ ฌํ๋ฅผ ํด๋ฒ๋ฆฐ๋ค.
์ํฐํฐ ํด๋์ค์ ๊ฒฝ์ฐ์ ์ธ์ ๋ค๋ฅธ ์ํฐํฐ์ ๊ด๊ณ(@OneToMany๋ @ManyToMany)๋ฅผ ๊ฐ๊ฒ ๋๋ฉด ์ง๋ ฌํ ๋์์ ๊ด๊ณ๋ฅผ ๋งบ์ ๋ค๋ฅธ ๊ฐ์ฒด๊น์ง ํฌํจ๋์ด๋ฒ๋ฆฐ๋ค.
๋๋ฌธ์ ์ฑ ์์๋ ์ํฐํฐ ํด๋์ค๋ฅผ ๊ทธ๋๋ก ๋ฆฌํดํ๋ ๊ฒ์ด ์๋๋ผ, ์ง๋ ฌํ ๊ธฐ๋ฅ์ ๊ฐ์ง ์ธ์ Dto๋ฅผ ํ๋ ์ถ๊ฐ๋ก ๋ง๋ค์ด์ ์ด์ ๋ฐ ์ ์ง๋ณด์๋ฅผ ์ฉ์ดํ๊ฒ ํ๋๋ก ํ ๊ฒ์ด๋ค.
๊ฐ์ฒด ์ ์ก์ ๋จ๊ณ
์ง๋ ฌํ๋ ๊ฐ์ฒด๋ฅผ ๋ฐ์ดํธ ๋จ์๋ก ๋ถํดํ๋ค.(marshalling)
๋ง์ฌ๋ง(Marshalling)์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํธ์ ๋ฉ์ด๋ฆฌ๋ก ๋ง๋ค์ด ์คํธ๋ฆผ์ ๋ณด๋ผ ์ ์๋ ํํ๋ก ๋ฐ๊พธ๋ ๋ณํ์์ ์ ๋ปํ๋ค.
์๋ฐ์์ ๋ง์ฌ๋ง์ ์ ์ฉํ ์ ์๋ ๋ฐ์ดํฐ๋ ์์ ์๋ฃํ๊ณผ ๊ฐ์ฒด ์ค์์ Serializable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค๋ก ๋ง๋ค์ด์ง ๊ฐ์ฒด์ด๋ค.
์ง๋ ฌํ ๋์ด ๋ถํด๋ ๋ฐ์ดํฐ๋ฅผ ์์์ ๋ฐ๋ผ ์ ์กํ๋ค.
์ ์ก ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์๋๋๋ก ๋ณต๊ตฌํ๋ค.(unmarshalling)
์ธ์
์ ์ฅ์๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉํ๊ธฐ
ํ์ฌ๋ ๋ด์ฅ ํฐ์บฃ์ ๋ฉ๋ชจ๋ฆฌ์ ์ธ์ ์ด ์ ์ฅ๋๋ฏ๋ก, ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์คํํ๋ฉด ๋ก๊ทธ์ธ์ด ํ๋ฆฐ๋ค. ๋ฐฐํฌํ ๋๋ง๋ค ํฐ์บฃ์ด ์ฌ์์๋๋ ๊ฒ์ด๋ค.
๋๋ฌธ์ ํ์ ์์๋ ์ธ์ ์ ์ฅ์์ ๋ํด ๋ค์ 3๊ฐ์ง ์ค ํ ๊ฐ์ง๋ฅผ ์ ํํ๋ค.
ํฐ์บฃ ์ธ์ ์ ์ฌ์ฉํ๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ณ๋ค๋ฅธ ์ค์ ์ ํ์ง ์์ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋๋ ๋ฐฉ์
ํฐ์บฃ(WAS)์ ์ธ์ ์ด ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ 2๋ ์ด์์ WAS๊ฐ ๊ตฌ๋๋๋ ํ๊ฒฝ์์๋ ํฐ์บฃ๋ค ๊ฐ์ ์ธ์ ๊ณต์ ๋ฅผ ์ํ ์ถ๊ฐ ์ค์ ์ด ํ์ํ๋ค.
MySQL๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ธ์ ์ ์ฅ์๋ก ์ฌ์ฉํ๋ค.
์ฌ๋ฌ WAS ๊ฐ์ ๊ณต์ฉ ์ธ์ ์ ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ด๋ค.
๋ง์ ์ค์ ์ด ํ์ ์์ง๋ง, ๊ฒฐ๊ตญ ๋ก๊ทธ์ธ ์์ฒญ๋ง๋ค DB IO๊ฐ ๋ฐ์ํด์ ์ฑ๋ฅ์ ์ด์๊ฐ ์ผ๊ธฐ๋ ์ ์๋ค.
๋ณดํต ๋ก๊ทธ์ธ ์์ฒญ์ด ๋ง์ด ์๋ ๋ฐฑ์คํผ์ค, ์ฌ๋ด ์์คํ ์ฉ๋์์ ์ฌ์ฉํ๋ค.
Redis, Memcached์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ DB๋ฅผ ์ธ์ ์ ์ฅ์๋ก ์ฌ์ฉํ๋ค.
B2C ์๋น์ค์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค.
์ค์ ์๋น์ค๋ก ์ฌ์ฉํ๊ธฐ ์ํด์๋ Embedded Redis์ ๊ฐ์ ๋ฐฉ์์ด ์๋ ์ธ๋ถ ๋ฉ๋ชจ๋ฆฌ ์๋ฒ๊ฐ ํ์ํ๋ค.
์ฑ ์์๋ ์๋ ์ด์ ์์ 2๋ฒ์งธ ๋ฐฉ์์ ์ ํํ๊ฒ ๋๋ค.
์ค์ ์ด ๊ฐ๋จํ๋ค.
์ฌ์ฉ์๊ฐ ๋ง์ ์๋น์ค๊ฐ ์๋๋ค.
๋น์ฉ ์ ๊ฐ์ด ๊ฐ๋ฅํ๋ค. ๋ ๋์ค ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ DB๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ๋ ๋์ค์ ๊ฐ์ ์๋น์ค(์๋ผ์คํฑ ์บ์)์ ๋ณ๋๋ก ์ฌ์ฉ๋ฃ๋ฅผ ์ง๋ถํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
ํ์ต ๋ด์ฉ์ ๋ํ ๊ฐ์ธ์ ์ธ ์ดํ
์์ ์ฝ๋๋ฅผ ๋ฐ๋ผ์ณค์์๋ ์คํ๋ง ์ํ๋ฆฌํฐ์์ ๋ฌธ์ ๊ฐ ์๊ฒผ๋ค. ๋๋๊ฒ๋ ์๋ฌ ๋ก๊ทธ๊ฐ ๋ฐ๋ก ์ฐํ์ง๋ ์์์ ์ ๋ฌธ์ ๊ฐ ์๊ฒผ๋์ง ์ถ์ธกํด์ผํ๋๋ฐ, ์ด ๋ฌธ์ ๋ฅผ ์ง๊ธ ํด๊ฒฐํ๊ธฐ ๋ณด๋ค, ์ด์ ์ง๊ธ ๊ฐ์ง ๊ฐ์ฆ์ ๋ฐํ์ผ๋ก ์คํ๋ง ํ๋ ์์ํฌ๋ฅผ ์ฐํ๊ฒ ํ์ตํด๋ด์ผ๊ฒ ๋ค๋ ๊ฒฐ์ฌ์ด ์ฐ๋ค.
๋ฉํ ๋๋ค๊ณผ์ ๋ฉด๋ด์ด ์์๋๋ฐ, ํ์ ์ด์์ผ๋ก ์์กด๊ฐ์ ๊น์ ํ์๋, ์ฃผ์ ๋๊ฒ ์ค๋งํด์ง ํ์๋ ์๋ค. ์ด์กฐํจ์ ๋ฒ๋ฆฌ๊ณ ๊ฒธํํ๊ฒ ์๊ฐ์ ๋ฐ์๋ค์ด๊ณ ๋ชฉํ๋ฅผ ์ํด ๋ ธ๋ ฅํ์.
๋ค์ ํ์ต ๊ณํ
๋์์ธํจํด ํ์ต
Last updated