Nest Microservices - gRPC, API Gateway (ing)
Microservice
microservice๋ค์ ์ํคํ ์ณ ๋ค์ด์ด๊ทธ๋จ๋ค๊ณผ ์๋น์ค๋ค์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ๊ณ ์ ์งํ๊ธฐ ์ํด microservice architecture์ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํ๋ค.
Nest Microservice
gRPC
1๏ธโฃ gRPC ์ ์
2๏ธโฃ gRPC ํน์ง
โ๏ธ ๋ก๋๋ฐธ๋ฐ์ฑ, ํธ๋ ์ด์ฑ, ํฌ์ค ์ฒดํน, ๊ทธ๋ฆฌ๊ณ ์ธ์ฆ์ ๋ํ ์ ์ ๊ฐ๋ฅํ ์ง์๊ณผ ํจ๊ป ๋ฐ์ดํฐ ์ผํฐ์์ ์๋น์ค๋ค์ ํจ์จ์ ์ผ๋ก ์ฐ๊ฒฐํ ์ ์๋ค.
โ๏ธ ๋ง์ RPC์ ๊ฐ์ด, gRPC๋ ์๋์ ์ผ๋ก ๋ถ๋ฆด ์ ์๋ ๋ฉ์๋๋ค์ ์ฉ์ด์์ ์๋น์ค๋ฅผ ์ ์ํ๋ ๊ฐ๋ ์ ๊ธฐ๋ฐํ๋ค.
โ๏ธ ์๋น์ค, ํ๋ผ๋ฏธํฐ, ๊ทธ๋ฆฌ๊ณ ๋ฆฌํด ํ์
๋ค์ ๊ตฌ๊ธ์ ์คํ ์์ค language-neutral protocol buffers mechanism์ ์ด์ฉํ๋ .proto
ํ์ผ๋ค์ ์ ์๋์ด ์๋ค.
3๏ธโฃ API Gateway
API Gateway๋ HTTP ๊ธฐ๋ฐ์ ํด๋ผ์ด์ธํธ ์์ฒญ๋ค์ entry point์ด๋ค. ๊ทธ๋ฌ๋ HTTP๋ง์ ์ ํํ ํ์๋ ์๋ค.
API -
โ๏ธ API Gateway๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ ์ค ํ๋๋ฅผ ํตํด ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
โ๏ธ ๋ช๋ช ์์ฒญ๋ค์ ๋จ์ํ ํ๋์ ์๋น์ค์ proxy / route๋๋ค.
โ๏ธ ๋ค๋ฅธ ์์ฒญ๋ค์ ๋ค์์ ์๋น์ค๋ค์ ํผ๋จ๋ฆผ์ผ๋ก์จ ์ฒ๋ฆฌํ๋ค.