10์ 30์ผ (์)์ ์ฐ์ํํ์ ๋ค ์ปจํผ๋ฐ์ค ์ฐ์์ฝ 2024
๋ฅผ ๋ค๋
์๋ค!
์ด์ ๋ํด์ ๋๋ ์ ๋ค์ ๊ธฐ๋กํด๋ณด๋ ค๊ณ ํ๋ค.
์ฐ์์ฝ์ ์ฌ์ ์ ์ฒญ์ ๋ฐ์ ํ์, ์ผ๋ถ ์ ์ฒญ์๋ค์ ํํด์๋ง ์
์ฅ๊ถ์ ์ ๊ณตํด์คฌ๋ค.
๊ทธ๋์ ๋๋ ๋จ์ด์ ธ์ ์ฌํ๋๋ฐ.. ๐ฅฒ
ํ์์ฆ์ ํจ๊ป ํ๋ ์น๊ตฌ๊ฐ ๊ณ ๋ง๊ฒ๋ ์๋๋ฅผ ํด์ค์ ๊ฐ ์ ์์๋ค!
์์น๋ ์ผ์ฑ์ญ ๊ทธ๋๋ ์ธํฐ์ปจํฐ๋จํ ์์ธ ํ๋ฅด๋์ค ํธํ
๋ด๋ถ์๋ค!
ํธํ
์์ ํ๋ ๊ฑด ๋ชฐ๋๋๋ฐ.. ๊ทธ๋์ ๊ทธ๋ฐ์ง ์์ค์ด ๋๋ฌด ์ข์์ ๋๋๋ค.
์ค์ 10์๋ถํฐ ์์์ด์๋๋ฐ, ์์นจ์ ์ผ์ด๋๊ธฐ๊ฐ ๋๋ฌด ํ๋ค์ด์ ํค๋
ธํธ๋ ๋ฃ์ง ๋ชป ํ๊ณ ๋ ๋ฒ์งธ ์ธ์
๋ถํฐ ๋ค์ ์ ์์๋ค.
์์ฆ ์ปจํผ๋ฐ์ค๋ฅผ ์์ฃผ ๋ค๋
์ ์ผ์ฃผ์ผ์ ํ ๋ฒ์ ์ฝ์์ค๋ฅผ ๊ฐ๋ ๊ฒ ๊ฐ์๋ฐ ๋๋ฌด ๋ฉ๋ค ๐คฃ
์ ์ฅํด์ ์ด๋ฆํ๋ฅผ ๋ฐ์ ํ์ ์ธ์ ์ ์ ์ฅํ ์ ์์๋ค!
๊ทธ๋ผ ์ด์ ๋ถํฐ ์ธ์ ๋ด์ฉ ์ ๋ฆฌ์ ๋๋ ์ ๋ค์ ๋ํด ์ ์ด๋ณด๋๋ก ํ๊ฒ ๋ค.
Reverse Conway's law
๋ ์ ์ฉ ๊ฐ๋ฅAPI Gateway Pattern
๊ณผ๋ ๋ค๋ฆ!Scalable
ํ๊ฒ -> ํ์์ ์ธํ๋ผ๊ฐ ํ์ฉ๋๋ ํ์์ ํ์ฅ ๊ฐ๋ฅ1) Rate Limiting
2) Circuit Breaker
Rate Limiting
: ์๋ฒ๊ฐ ํน์ ์๊ณ์น๊น์ง๋ง ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ํ์ฉํ๋ ์ ์ฑ ๋งํฌ
Circuit Breaker
: ์ฅ์ ๊ฐ ๋ฐ์ํ ์๋น์ค์ ๋ํ ์ ์ ์ฐจ๋จ์ ์๋ํํ๋ ๊ฒ ๋งํฌ
๋จ์ผ ์ฅ์ ์ ์ ์์คํ ๊ตฌ์ฑ ์์ ์ค์์, ๋์ํ์ง ์์ผ๋ฉด ์ ์ฒด ์์คํ ์ด ์ค๋จ๋๋ ์์๋ฅผ ๋งํ๋ค. ๋งํฌ
<์ ๋ฆฌ>
์ฒซ ๋ฒ์งธ ์ธ์ ์์๋ ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ์์ API Gateway๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๊ณ ์๋์ง๋ฅผ ์ ์ ์์๋ค. ์ฐ์ ์ ์ฌํ ์ด๋ฆ์ด์ง๋ง ๊ทผ๋ณธ์ ์ผ๋ก ๋ค๋ฅธ, 1) API Gateway 2) API Gateway Pattern์ ์ฐจ์ด์ ์ ๋ํด ์๋ ค์ฃผ์ จ๋ค. ๊ทธ๋ฆฌ๊ณ MSA ๊ตฌ์กฐ์์ ๋ฐ์ํ ์ ๋ฐ์ ์๋ํก๋จ๊ด์ฌ์ฌ ๋ฌธ์
๋ฅผ ์ธ๊ธํ์๋ฉฐ ์ด๋ฅผ ์ด๋ ํ ๋ฐฉ๋ฒ๋ค๋ก ํด๊ฒฐํ๋์ง๋ฅผ ์ด์ด์ ๋ง์ํ์ จ๋ค.
๋ฐฐ๋ฌ์ ๋ฏผ์กฑ์์๋ API Gateway๋ฅผ Scalableํ๊ฒ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ, ๋ณ๋์ ์ปค์คํ ํํฐ์ฒด์ธ์ ๋ง๋ค์ด์ ์ฌ์ฉํ๋ค๊ณ ํ๋ค. ๋ํ ์คํ๋ง ํด๋ผ์ฐ๋ ๊ฒ์ดํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ฌ๊ธฐ์ ์ธ์ฆ ํํฐ, ํ๋ฆ์ ์ด(Rate Limiting, Circuit Breaker) ๊ธฐ๋ฅ ๋ฑ์ ํ์ฉํ๊ณ ์๋ค๊ณ ํ๋ค.
<๋๋ ์ >
๐ง๐ปโ๐ป ์์ง API Gateway์ ๋ํด์๋ ์๊ฒ๋ง ์๊ณ ์๋ ์ํ์ธ๋ฐ, ๊ตฌ์กฐ์ ์ผ๋ก ์กฐ๊ธ ๋ ์ดํดํ ์ ์์ด์ ์ข์๋ ๊ฒ ๊ฐ๋ค. ๋ํ API Gateway์ API Gateway Pattern์ ์ฐจ์ด์ ์ ๋ํด์ ์ ์ ์์ด์ ๋ ์ ์ตํ๋ ๊ฒ ๊ฐ๋ค! ๐๐ป
๋ฉฑ๋ฑ์ฑ Producer
: ์ค๋ณต๋ ๋ฉ์์ง๋ฅผ ๋ง์Transaction
FCM Timeout
์ฒ๋ฆฌ๋ฅผ ํด๋ ๋๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ TimeLimiter
๋ฅผ ์ ์ฉํจDead Letter
์ ๋ฃ์ ํ, ๋์ค์ ๋ค์ ๋ณด๋ด๋ ๋ฐฉ์<์ ๋ฆฌ>
๋ ๋ฒ์งธ ์ธ์ ์์๋ kafka ๋ฉ์์ง ํ๋ซํผ์์ ๋ฐ์ํ๋ ์ฅ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํด์, ์ํคํ ์ฒ๋ฅผ ๊ฐ์ ํ ์คํ ๋ฆฌ์ ๋ํด ๋ค์ ์ ์์๋ค. ์ธ๋ถ ์ฅ์ ๊ฐ 70%์ด๊ธฐ๋ ํ์ง๋ง 2๋ ๊ฐ 41๊ฑด์ ์ฅ์ ๊ฐ ๋ฐ์์ ํ์๊ณ , ํนํ ์๋ 3๊ฑด์ ์น๋ช ์ ์ธ ์ฅ์ ๋ก ์ธํด์ ๋น์์ ์ํคํ ์ฒ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํด์ผ๊ฒ ๋ค๋ ํ๋จ์ ํ๋ค๊ณ ํ๋ค. ๊ธฐ์กด์๋ Kafka Exactly Once ๊ธฐ๋ฅ์ ์ฌ์ฉํ์์ง๋ง, ์ด๋ฅผ ์ ๊ฑฐํ๊ธฐ๋ก ๊ฒฐ์ ์ ํ๊ณ , Redis๋ก ์บ์ฑ์ ํด ๋ณด๋ ๋ฑ์ ๋ ธ๋ ฅ์ด ์์๋ค.
๊ทธ๋ฌ๋ ์ค ์ด๋ ๋ 3๋ฐฐ์ ํธ๋ํฝ์ ๋ฐ์ ์ ์๊ฒ ํด๋ฌ๋ผ๋ ์์ฒญ์ด ๋ค์ด์์ผ๋ฉฐ, ์ฌ์ง์ด ํํฐ์ ์๋ฅผ ๋๋ ค์ ํด๊ฒฐํ ์๋ ์๋ ๊ตฌ์กฐ์๋ค. ๋๋ฌธ์ ์์๋ผ์ด์ด ์ ๊ฑฐ๋ฅผ ์ํด ๋ณ๋์ TimeLimiter๋ฅผ ๋ง๋ค์ด ์ ์ฉํ๊ณ , ๋น๋๊ธฐ ์ ํ, ๋ฐฐ์น ๋ฆฌ์ค๋ ์ ์ฉ ๋ฑ์ ์ ์ฉํ๋ฉฐ ๊ฒฐ๊ณผ์ ์ผ๋ก ํํฐ์ ์๋ฅผ 100๊ฐ๊น์ง ์ค์ผ ์ ์์๋ค๊ณ ํ๋ค.
<๋๋ ์ >
๐ง๐ปโ๐ป
Kafka๋ฅผ ํ๋ก์ ํธ์์ ํ ๋ฒ ์ฌ์ฉ์ ํด๋ด์ ๊ทธ๋๋ง ์กฐ๊ธ์ด๋ผ๋ ์ดํด๋ฅผ ํ ์ ์์๋ ๊ฒ ๊ฐ๋ค. ์ด๋ ๊ฒ ๊ธฐ์ ์์ ๋ฐ์ํ๋ ์ฅ์ ๋ฅผ ๊ฐ์ ํ๋ ์คํ ๋ฆฌ๋ฅผ ๋ค์ผ๋ฉฐ ๋๋ผ๋ ์ ์, ๋์ผํ ๊ธฐ์ ์ด์ด๋ ์ด๋ฅผ ์ด๋ป๊ฒ ์ ์ฉํ๋๋์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ์ฒ์ฐจ๋ง๋ณ์ด๋ผ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ๊ผญ ์ด๋ ค์ด ๊ธฐ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํ ๊ฒ ์๋๋ผ, ํ๋์ ๊ธฐ์ ์ ๋ํด ๊น์ด ์ดํดํ๊ณ ์ด๋ฅผ ํ์ฌ ์ํฉ์ ๋ง์ถฐ ์ ์ฌ์ ์์ ์ฌ์ฉํ ์ ์๋ ๋ฅ๋ ฅ์ ๊ฐ์ถ๋ ๊ฒ ๋ ์ค์ํ ๋ฏ ํ๋ค!
Kafka์ ๋ํ ๋ค์ํ ์ฉ์ด ๋ฐ ๊ธฐ์ , ๊ทธ๋ฆฌ๊ณ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ ๋ค์ ์ ์์ด์ ์ฌ๋ฏธ์๋ ์ธ์ ์ด์๋ ๊ฒ ๊ฐ๋ค ๐๐ป
์๋์์คํ
์ฅ์
์ ์กฐ์น๊ฐ ๋ง์๊น?
ํ๋ ๊ณ ๋ฏผ์ด ๋ฐ์๊ณ ๊ฐ ๊ฒฝํ
์ ์ฐ์ ์ํ๋ ์ด๊ธฐ์ ์๊ฐ์ ๋ฐ๊พธ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํจ์ต์ค์ง๋
๋ผ๋ ํด์ ์ฐ๋ํ์ฌ, ๋ด๋น์ ํธ์ถ ์ฒด๊ณ๋ฅผ ๊ฐํํจ์ง๋ฌธ์ ํตํด ์ฐ๋ฆฌ๋ง์ ์ ๋ต์ ์ฐพ์
๋๊ฐ๋ณด๋ ค ํ๋ค!<์ ๋ฆฌ>
์ธ ๋ฒ์งธ ์ธ์ ์์๋ ๋ฐฐ๋ฌ ์๋น์ค ๊ณผ์ ์์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ, ์ด๋ฅผ ๊ฐ์งํ๊ณ ์ฐจ๋จํ๋ ์์คํ ์ ๊ตฌ์ถํ ๊ฒฝํ์ ๋ํด ๋ค์ ์ ์์๋ค. ๋๋ฆฌ๋ฒ๋ฆฌํ๋ก์ธ์ฑํ์์๋ ๋ฐฐ๋ฌ ๊ณผ์ ์ ๋ฐฑ์๋ ์์คํ ์ ๋ด๋นํ๋ ํ์ด๋ค. ๋ฐฐ๋ฌ ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ ๋น ๋ฅด๊ฒ ๊ฐ์งํ๊ณ ์ฆ๊ฐ ์กฐ์นํ ์ ์๋๋ก, ๋์ํ ์์ฐ๊ณต์ฅ์์๋์์คํ
์ปจ์ ์ ์ ์ฉํด๋ณด๊ณ ์ ํ๋ค๊ณ ํ๋ค. ์ด๋ฅผ ์ํด์ ๋ถ์ ํฉํ ๋ฐฐ๋ฌ ๊ฑด์ ์ง๊ณํ๋ฉฐ ๋ชจ๋ํฐ๋ง์ ์งํํ๊ณ , ์ด๋ค ๋์์์ฅ์
๋ผ๊ณ ํ๋ณํ ์ ์๋์ง ๊ธฐ์ค์ ์ก์๋ค.
๊ทธ๋ ๊ฒ ์์คํ ์ ๊ตฌ์ถํด ๋ ํ, ์ค์ ๋ก ์ฅ์ ๊ฐ ๋ฐ์ํด์ ์ด๋ฅผ ์ด์ ๊ณผ ๋๋นํด ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์์๋ค. ํ์ง๋ง ์ ์กฐ์น ์ดํ ๋ด๋น์๊ฐ ์ฐ๋ฝ์ ๋ฐ๋ก ๋ฐ์ง ๋ชป ํ๊ฒ ๋๋ค๋ฉด, ์ฃผ๋ฌธ๋ ์ ์ ์กฐ์ ๋ก ์ธํด์ ์ฌ์ ์ ์ธ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์๋ ์์๋ค. ๋๋ฌธ์ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์์ต์ค์ง๋
๋ผ๋ ํด์ ์ฐ๋ํด ๋ฉ์ธ ๋ด๋น์๊ฐ ์ฐ๋ฝ์ ๋ฐ์ง ๋ชป ํ๋ฉด ์๋ธ ๋ด๋น์์๊ฒ ์ฐ๋ฝ์ ์ทจํ๊ณ , ๋ชจ๋ํฐ๋ง ๋์๋ณด๋๋ฅผ ๊ตฌ์ถํ๋ ๋ฑ ์กฐ์น ์ดํ ํ๋ก์ธ์ค๋ฅผ ๋ณด์ํ๋ค๊ณ ํ๋ค. ํด๋น ๊ณผ์ ์ ํตํด์๋ณธ์ง์ด ๋ฌด์์ธ๊ฐ?
์ ๋ํด์ ๋์ ์์ด ๊ณ ๋ฏผํด์ผ๊ฒ ๋ค๋ ์๊ฐ์ ํ๊ณ , ์์ผ๋ก๋์ง๋ฌธ์ ํตํด ์ฐ๋ฆฌ๋ง์ ์ ๋ต์ ์ฐพ์
๋๊ฐ๋ณด๋ ค๊ณ ํ๋ค๊ณ ๋ง์ํ์ จ๋ค.
<๋๋ ์ >
๐ง๐ปโ๐ป ์ธ ๋ฒ์งธ ์ธ์ ์ ์๋ฒ๊ฐ ์๋ PM์ ํธ๋์ ์ฐธ์ฌํ๊ฒ ๋์๋ค.
๊ฐ์ธ์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๊ทธ ๊ณผ์ ์์ ๋๋ ์ ์ ๋ฃ๋ ๊ฒ์ด ์ฌ๋ฏธ์์ด์ ์์ฃผ ๋ฃ๊ฒ ๋๋ ๊ฒ ๊ฐ๋ค. ์ด๋ฒ์๋ ์ด๋ ํ ์์คํ ์ ๊ตฌ์ถํ๋ ๋ฐ ์์ด์ PM๋ค์ ์ด๋ค ์๊ฐ๋ค์ ๊ฐ์ง๊ณ ์๋์ง, ๋ ์ด๋ค ์ ๋ค์ ์ค์ํ ๊ฐ์น๋ก ์ผ๊ณ ์งํํ๋์ง๋ฅผ ๋ค์ ์ ์์๋ค.
ํนํ ์ ์กฐ์น ํ๋ก์ธ์ค๊ฐ ๋ง์์ง์ ๋ํด ๊ณ ๋ฏผ์ ํ ํ์, ๋ณธ์ง์๊ณ ๊ฐ ๊ฒฝํ
์ ์ฐ์ ์ ํ๋ ๊ฒ์์ ๋ค์ ์๊ธฐํ๋ฉฐ ์ด๊ธฐ ์๊ฐํ ํ๋ก์ธ์ค๋ฅผ ๊ณ ์ํ ์ ์ด ์ธ์ ๊น์๋ ๊ฒ ๊ฐ๋ค. ์๊ฐํ ๋๋ก ์ผ์ด ํ๋ฌ๊ฐ์ง ์์ ๋, ๋ณธ์ง์ ์ ์๊ฐํ์ง ๋ชป ํ๊ณ ์ํฉ์ ๋ง์ถฐ ๋ฐ๊ฟ๋ฒ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ๊ทธ๋ ๊ฒ ๋๋ฉด ์ ์ฒด์ฑ์ ์์ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
๊ฐ๊น์ด ๊ฑฐ๋ฆฌ์์ ์ฌ๋ฏธ์๋ ์ด์ผ๊ธฐ๋ฅผ ๋ค์ ์ ์์๋ ๊ฒ ๊ฐ์์ ์ข์๊ณ , ๋๋ ์ผ์ด ์ ๋์ง ์์ ๋ ํญ์ ๋ณธ์ง์ ๋ฌด์์ธ์ง์ ๋ํด ๋ ์ฌ๋ ค๋ณด์์ผ๊ฒ ๋ค๋ ์๊ฐ์ ํ๋ค ๐๐ป
๊ตฌํ์ผ๋ก ํ์ฅ
ํ๊ธฐ ์ํด ๋๋ฉ์ธ์ ํ์ํ๊ณ ํ์ตํ๊ธฐ ์ํ ๋ค์ํ ์์น๊ณผ ํจํด
๊ฐ์ฒด์งํฅ
๊ณผ ์ ์์ผ
๋ฐ์ด๋๋ ์ปจํ
์คํธ
๋ด์์๋ง ์ ์ํ ํ์๋ ์๋ค์ฉ์ด ์ฌ์
์ ๊ธฐ๋กํ๋ค๊ณ ๊ฐ, ๊ฐ๋ฐ์, ํ
์คํฐ๊ฐ ํจ๊ป ์์ฑํ๋ ํ
์คํธ
๋ฐ์ด๋๋ ์ปจํ
์คํธ
: ํน์ ๋๋ฉ์ธ ๋ชจ๋ธ์ด ์ ์ฉ๋๋ ๊ฒฝ๊ณ๋ฅผ ์ ์ํ๋ ๊ฐ๋
๋ถํ ๊ณผ ์ ๋ณต
ํ์ฉ์ฝ์จ์ด์ ๋ฒ์น
์ญ์ฝ์จ์ด์ ๋ฒ์น
์ฝ์จ์ด์ ๋ฒ์น
: ์ํํธ์จ์ด ๊ตฌ์กฐ๋ ํด๋น ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ ์กฐ์ง์ ์ปค๋ฎค๋์ผ์ด์ ๊ตฌ์กฐ๋ฅผ ๋ฎ๊ฒ ๋๋ค.
์ญ์ฝ์จ์ด์ ๋ฒ์น
: ์ด๋ค ์ ์์๋ ๊ฐ๋ฐ์๋ ๋ง์ดํฌ๋ก์๋น์ค์ ๊ฐ์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋งํฌ
<์ ๋ฆฌ>
๋ค ๋ฒ์งธ ์ธ์ ์์๋ ๋๋ฉ์ธ์ฃผ๋ ์ค๊ณ์ ๊ด๋ จํ ๋ด์ฉ๋ค์ ๋ค์ ์ ์์๋ค.
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ๋ ๋ฌด์์ธ์ง ๊ทธ ๋ณธ์ง์ ๋ํด ์ ์ ์์๋ ๊ฒ ๊ฐ๋ค. ๋ํ ์ ๋น์ฟผํฐ์ค ์ธ์ด, ์ฆ ํ์๋ค์ด ๋ชจ๋ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์๋ ์ธ์ด๋ฅผ ๋์ ํ๋ ๊ฒ์ ๋ํด ๋ง์ํด์ฃผ์ จ๋ค. ๋ณดํต ๊ฐ๋ฐ์๋ง ํจํค์ง, ํจ์, ๋ณ์๋ช ๋ฑ์ ๊ณ ๋ฏผํ๊ณค ํ๋๋ฐ, ๊ทธ๋ด ํ์๊ฐ ์์ด ํจ๊ป ๊ณ ๋ฏผํด์ผ ํ๋ค๊ณ ํ์ จ๋ค. ์ด๋ฅผ ์ฉ์ด ์ฌ์ ์ ์ ๋ฆฌ๋ฅผ ํด๋ ํ์, ํ์ & ๊ธฐํ & ๋์์ธ & ๊ฐ๋ฐ ๋ฑ ํ๋ก์ ํธ ๋ชจ๋ ๊ณณ์์ ์ด๋ฅผ ์ฌ์ฉํ๋๋ก ๋ ธ๋ ฅํ๋ค๊ณ ํ๋ค.
<๋๋ ์ >
๐ง๐ปโ๐ป DDD์ ๋ํด์ ๋ค์ ์ ์๋ ์๊ฐ์ด์๋๋ฐ, ์์ง ๊ณต๋ถํด ๋ณธ ์ ์ด ์์ด ๋ช ํํ ์ดํดํ์ง๋ ๋ชป ํ ๋ฏํ๋ค. TDD, DDD๋ ์ค์ํ ์ํคํ ์ฒ์ด๊ธฐ์ ๋ค์์ ๊ผญ ๊ณต๋ถํด๋ณด์์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
ํนํ ์ ๋น์ฟผํฐ์ค ์ธ์ด์ ์ฉ์ด ์ฌ์ ๋ถ๋ถ์ด ํฅ๋ฏธ๋ก์ ๋๋ฐ, ์๊ฐํด ๋ณด๋ฉด ์ ๊ฐ๋ฐ์๋ง ์ด๋ฌํ ์๋ฌธ ์ด๋ฆ์ ๊ณ ๋ฏผํด์ผํ์ง? ๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ์ต๊ทผ์๋ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๊ธฐํ & ๋์์ธ์ด ์ฌ์ฉํ๋ ์ฉ์ด์ ๋ด๊ฐ ์ฌ์ฉํ๋ ์๋ฌธ ์ฉ์ด๊ฐ ๋ฌ๋ผ์ ์ด๋ฅผ ๋ง์ถ๋๋ผ ๊ณ ๋ฏผํ๋ ์ ์ด ์์๋ค. ๋๋ฌธ์ ์ด๋ฅผ ์ฉ์ด ์ฌ์ ์ผ๋ก ํ ๊ณณ์ ์ ๋ฆฌํด ๋๊ณ ํ์ ๋ค๊ฐ์ด ์ด๋ฅผ ๋ง์ถฐ ์ฌ์ฉํ๋ค๋ฉด ํจ์ฌ ๋น ๋ฅด๊ฒ ์ดํดํ ์ ์์ง ์์๊น๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
์์ง ๊ณ ๋ฏผ์ ์กฐ๊ธ ๋ ํด๋ณด์์ผ๊ฒ ์ง๋ง, ์ค์ ๋ก ํ๋ก์ ํธ์ ์ ์ฉํด ๋ณด๊ณ ์ถ์ ์๋ก์ด ๋ถ๋ถ๋ค์ ๋ค์ ์ ์์ด์ ์ข์๋ ๊ฒ ๊ฐ๋ค ๐๐ป
์ปดํ๋ผ์ด์ธ์ค
๊ด๋ฆฌ์ ์ด๋ ค์์ ์ฑ
: ์ฌ์ฉ์๊ฐ ์ํํ ์ ์๋ ํ์ (HTTP API)๊ถํ
: ์ ์ฑ
์ ๊ทธ๋ฃน์์ + ํ๋
์ ๊ฐ์ฅ ์ ๊ตฌํํ ์ ์๋ ๊ฒ์ด API (Path + Method)
<์ ๋ฆฌ>
์ฐ์ํํ์ ๋ค ์ฌ๋ด ๋ฐฑ์คํผ์ค ๊ฐ์๋ 206๊ฐ๋ก ๋ง์๋ฐ, ๊ธฐ์กด์๋ ๊ฐ๊ฐ ๋ชจ๋ ๋ถ๋ฆฌ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๊ด๋ฆฌํ๊ณ ๊ฐ๋ฐํ๋ ๋ฐ ์ด๋ ค์์ด ์์๋ค. ๋๋ฌธ์ ๋ก๊ทธ์ธ ํ๋ฉด์ 1๊ฐ๋ก ํต์ผํ๋ ๋ฑ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์ ์ ์งํํ๋ค. ํนํ ๋ค๋ฅธ ๋ฐฉ์์ด ์๋ URL Base๋ก ์ ๊ทผ ์ ํ์ ํ์๋๋ฐ, ์๋ํ๋ฉด์์
๊ณผํ๋
์ ๊ฐ์ฅ ์ ๊ตฌํํ ์ ์๋ ๊ฒ์ด API ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ด๋ค. (์์์Path
๋ก, ํ๋์Method
๋ก) ์ด์ ๋ํ ๊ถํ ๊ด๋ฆฌ๋ 1) ์ ์ฑ ๊ณผ 2) ๊ถํ์ผ๋ก ๋๋์๋๋ฐ, ์ ์ฑ ์ ์ฌ์ฉํ๊ฐ ์ํํ ์ ์๋ ํ์, ์ฆ HTTP API ๋ชฉ๋ก์ ๋ณด์ฌ์ฃผ๋ฉฐ, ๊ถํ์ ์ ์ฑ ์ ๊ทธ๋ฃนํํ์ฌ ๋๋ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
<๋๋ ์ >
๐ง๐ปโ๐ป ๋ง์ง๋ง ์ธ์ ์ผ๋ก๋ ๋ฐฑ์คํผ์ค์ ์ธ์ฆ/์ธ๊ฐ, ์ปดํ๋ผ์ด์ธ์ค๋ฅผ ์ ์ฉํ๋ ๋ด์ฉ์ ๋ค์ ์ ์์๋ค. ๋ฐฑ์คํผ์ค๋ผ๋ ์ฉ์ด๋ ์ฒ์ ๋ค์๋๋ฐ ์ด๋๋ฏผ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ ๋ฏํ๋ค. ๋ํ ์ปดํ๋ผ์ด์ธ์ค๋ ์ฒ์ ๋ค์๋๋ฐ, ๋ฒ๊ท ์ค์ ์์คํ ์ด๋ผ๋ ๋ป์ผ๋กํ์ฌ๊ฐ ์๋ฐ์ ์ผ๋ก ๊ด๋ จ ๋ฒ๋ ฅ์ ์ค์ํ๊ธฐ ์ํด ์ํ์ ํต์ ํ๊ณ ์ฌ์ ์กฐ์น๋ฅผ ์ทจํ๋ ํ์๋ ์ ์ฑ
์ด๋ผ๊ณ ์ดํดํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
ํด๋น ์ธ์ ์์๋ ์ค์ ๋ก ์ฐ์ํ ํ์ ๋ค์ ๋ฐฑ์คํผ์ค๊ฐ ์ด๋ป๊ฒ ์๊ฒผ๋์ง, ์ด๋ป๊ฒ ์ ์ฑ ๊ณผ ๊ถํ์ ๊ด๋ฆฌํ๊ณ ์๋์ง๋ฅผ ์์์ ์ ๊ธฐํ๊ณ ํฅ๋ฏธ๋ก์ ๋ ๊ฒ ๊ฐ๋ค! ์ต๊ทผ ๋ค์ด Spring Security๋ฅผ ๊ณต๋ถํ๋ฉฐ ๋ณด์ ๋ฐ ์ธ์ฆ์ธ๊ฐ์ ๊ด์ฌ์ด ์กฐ๊ธ ๋ ์๊ธดํฐ๋ผ ๋์ฑ ์ฌ๋ฏธ์๊ฒ ๋ค์ ์ ์์๋ค ๐๐ป
์ธ์
์ธ์๋ ๋ณผ๋งํ ๊ฒ๋ค์ด ๋ง์๋ค!
์ด๋ ๊ฒ ๋ค์ํ ์ด๋ฒคํธ๋ ๋คํธ์ํน์ ํ ์ ์๋ ๊ณต๊ฐ๋ค๋ ์์์ผ๋ฉฐ,
๋ฐฐ๋ฌ์ ๋ฏผ์กฑ ์ผํ ์ฑ์ ์ด๋ ํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ตฌ์ถ๋์๋์ง๋ ๋ณผ ์ ์์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ์๋ ์ด์ AI๋ฅผ ๋์
ํ๋ ค๊ณ ํ๋ ๋ฏ ํ๋ฐ,
๊ฐ๋จํ๊ฒ ์ฒดํํด ๋ณธ ํ์ 2์ฒ์ ์ํ๊ถ์ ๋ฐ์ ์ ์์๋ค!
๋ฐฉ๊ธ ์ ์ฌ์ฉํ๋ค ใ
ใ
์ ์ฅํ ๋ ์์ ๊ฐ์ด ๊ตฟ์ฆ๋ค์ด ๋ด๊ธด ํ์ฐ์น๋ฅผ ๋ฐ์ ์ ์์๋ค!
๋ด๋ถ ๊ตฌ์ฑ์ ํฐ์
์ธ , ํํ๋ , ์ฟ ํค, ์คํฐ์ปค๊ฐ ์์๋ค!
์คํฐ์ปค๋ ๋๋ฆ ๊ท์ฝ๊ณ , ํฐ์
์ธ ๋ ํธํด์ ์ง์์ ๊ฐ๋ฐํ ๋ ์ ์ฉํ๋ ค ํ๋ค ๐ง๐ปโ๐ป