๊ณ ๊ธ ํธ๋ํฝ ๊ด๋ฆฌ ๊ฐ์
์ด ๋ฌธ์๋ Cloud Service Mesh ๋ฐ ์๋น์ค ๋ฉ์ ๊ฐ๋ ์ ๊ดํด ์ค๊ธ ๋ฐ ๊ณ ๊ธ ์์ค์ ์ง์์ ๊ฐ์ถ๊ณ Cloud Service Mesh ๋ฐฐํฌ์์ ํธ๋ํฝ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ๋ฐ ๊ตฌ์ฑํ๋ ๋ฉ์ ๋๋ ํ๋ซํผ ๊ด๋ฆฌ์์ ์๋น์ค ๊ฐ๋ฐ์๋ฅผ ๋์์ผ๋ก ํฉ๋๋ค.
Cloud Service Mesh๋ ํธ๋ํฝ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ์ธ๋ถ์ ์ผ๋ก ์ ์ดํ ์ ์๋ ๊ณ ๊ธ ํธ๋ํฝ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. Cloud Service Mesh์์๋ ๋ค์ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์ง์๋ฉ๋๋ค.
- ํ๋ ์ด์์ ์๋น์ค์ ๋ํ ์์ฒญ์ ์ธ๋ถํ๋ ํธ๋ํฝ ๋ผ์ฐํ
- ๊ฐ์ค์น ๊ธฐ๋ฐ ํธ๋ํฝ ๋ถํ ๋ก ์ฌ๋ฌ ์๋น์ค์ ํธ๋ํฝ ๋ถ์ฐ
- ํ๋์ ๋๋ฒ๊น
์๋น์ค์ ์์ฒญ์ ๋ณด๋ด๊ณ ๋ค๋ฅธ ์๋น์ค๋ก ์ฌ๋ณธ์ ์ ์ก๋๋ ํธ๋ํฝ ๋ฏธ๋ฌ๋ง ์ ์ฑ
ํธ๋ํฝ ๋ฏธ๋ฌ๋ง์
TCPRoute
๋๋TLSRoute
๋ฆฌ์์ค์์ ์ง์๋์ง ์์ต๋๋ค. - ๋ถํ ๋ถ์ฐ ํฅ์์ ์ํด ์๋น์ค์ ๋ฐฑ์๋ ๊ฐ์ ์ธ๋ถํ๋ ํธ๋ํฝ ๋ถ์ฐ
์ด๋ฌํ ๊ณ ๊ธ ํธ๋ํฝ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๊ฐ์ฉ์ฑ ๋ฐ ์ฑ๋ฅ ๋ชฉํ๋ฅผ ์ถฉ์กฑํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ฌ์ฉ ์ฌ๋ก์ Cloud Service Mesh๋ฅผ ์ฌ์ฉํ ๋์ ์ด์ ์ค ํ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ ์์ ํ ํ์ ์์ด ํธ๋ํฝ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ์ ๋ฐ์ดํธํ ์ ์๋ค๋ ์ ์ ๋๋ค.
Cloud Service Mesh ์๋น์ค ๋ฉ์์ ํธ๋ํฝ ๊ด๋ฆฌ์๋ ๋ค์ ๋ฆฌ์์ค๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
Mesh
๋ฆฌ์์ค๋ ์๋น์ค ๋ฉ์๋ฅผ ์๋ณํ๊ณ ํธ๋ํฝ ์ ๋ฌ ๋ฐ ์ ์ฑ ์ ์ฉ์ ๋ด๋นํ๋ ๊ตฌ์ฑ์์๋ฅผ ๋ํ๋ ๋๋ค.Mesh
๋ฆฌ์์ค๋ ๋ํ ํธ๋ํฝ ๊ฐ๋ก์ฑ๊ธฐ ํฌํธ๋ฅผ ์๋ณํฉ๋๋ค.Gateway
๋ฆฌ์์ค๋ ์ค๊ฐ ํ๋ก์๋ฅผ ์๋ณํ๋ฉฐ IP ์ฃผ์:ํฌํธ ์ ๋ชฉ๋ก์์ ๋ฆฌ์จํ๊ณ , ํธ๋ํฝ์ ์ ๋ฌํ๊ณ , ์ ์ฑ ์ ์ ์ฉํ๋ ๊ตฌ์ฑ์์๋ฅผ ๋ํ๋ ๋๋ค.Route
๋ฆฌ์์ค๋ ์ฌ๋ฌ ์ ํ ์ค ํ๋์ผ ์ ์์ผ๋ฉฐ ๋ฉ์์ ๋ํ ํธ๋ํฝ ๋ผ์ฐํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.Route
๋ฆฌ์์ค๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ฐฑ์๋ ์๋น์ค๋ก ํธ๋ํฝ์ ๋ผ์ฐํ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ํธ์คํธ ์ด๋ฆ๊ณผ ํฌํธ๋ฅผ ์๋ณํฉ๋๋ค. ๋ค์์Route
๋ฆฌ์์ค์ ์ฌ๋ฌ ์ ํ์ ๋๋ค.HTTPRoute
๋ Envoy ํ๋ก์๋ฅผ ์ฌ์ฉํ๋ ๋ฉ์์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.HTTPRoute
๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ์ฌ HTTP ์์ฒญ์ ์ ์กํ๋๋ก Envoy ํ๋ก์๋ฅผ ๊ตฌ์ฑํ ๋๋ ์ด ๋ฌธ์์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.TCPRoute
๋ Envoy ํ๋ก์๋ฅผ ์ฌ์ฉํ๋ ๋ฉ์์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.TLSRoute
๋ Envoy ํ๋ก์๋ฅผ ์ฌ์ฉํ๋ ๋ฉ์์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.GRPCRoute
๋ Envoy ์ฌ์ด๋์นด ํ๋ก์ ๋ฐ ํ๋ก์๋ฆฌ์ค gRPC๋ฅผ ์ฌ์ฉํ๋ ๋ฉ์์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. Cloud Service Mesh์ ํจ๊ป ํ๋ก์๋ฆฌ์ค gRPC ์๋น์ค ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๋ฉด ์ด ๋ฌธ์์ ์ค๋ช ๋ ์ผ๋ถ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋ฐฑ์๋ ์๋น์ค๋
Route
๋ฆฌ์์ค์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
๊ตฌ์ฑ
๊ณ ๊ธ ํธ๋ํฝ ๊ด๋ฆฌ๋ฅผ ๊ตฌ์ฑํ๋ ค๋ฉด Cloud Service Mesh๋ฅผ ์ค์ ํ ๋ ์ฌ์ฉํ๋ ๋์ผํ Route
๋ฐ ๋ฐฑ์๋ ์๋น์ค ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Cloud Service Mesh๋ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ค์ ๋ ๊ณ ๊ธ ํธ๋ํฝ ๊ด๋ฆฌ ์ ์ฑ
์ ์ ์ฉํ๋๋ก Envoy ํ๋ก์์ ํ๋ก์๋ฆฌ์ค gRPC ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ฑํฉ๋๋ค.
๊ฐ๋ต์ ์ผ๋ก ๋ค์์ ์ํํฉ๋๋ค.
- ์๋น์ค ๋ฉ์๋ฅผ ์๋ณํ๋๋ก
Mesh
๋ฆฌ์์ค๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ์์๋ฐ์ด๋ ์์ฒญ์ ํน์ฑ์ ๋ค๋ผ ๋ค์์ ์ํํ๋๋ก
Route
๋ฆฌ์์ค๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.์์ฒญ์ด ๋ผ์ฐํ ๋ ๋ฐฑ์๋ ์๋น์ค๋ฅผ ์ ํํฉ๋๋ค.
์ํ๋ ๊ฒฝ์ฐ ์ถ๊ฐ ์์ ์ ์ํํฉ๋๋ค.
๋์ ์๋น์ค๊ฐ ์ ํ๋ ํ์ ๋ฐฑ์๋ ๋ฐ ์๋ํฌ์ธํธ์ ํธ๋ํฝ์ด ๋ถ์ฐ๋๋ ๋ฐฉ์์ ์ ์ดํ๋๋ก ๋ฐฑ์๋ ์๋น์ค๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
ํธ๋ํฝ ๋ผ์ฐํ ๋ฐ ์์
Cloud Service Mesh์์ ํธ๋ํฝ์ Mesh
๋ฆฌ์์ค, Route
๋ฆฌ์์ค, ๋ฐฑ์๋ ์๋น์ค ๋ฆฌ์์ค์ ๊ฐ์ ๋ฐ๋ผ ๋ผ์ฐํ
๋ฉ๋๋ค. ๋ผ์ฐํ
๋ฐ ์์
๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ๊ณ ๊ธ ํธ๋ํฝ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ Route
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ๋ฉ๋๋ค.
๋ค์ ์น์
์์๋ Route
๊ฐ์ฒด์์ ์ค์ ํ ์ ์๋ ๊ณ ๊ธ ํธ๋ํฝ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ๋ํด ์ค๋ช
ํฉ๋๋ค.
์์ฒญ ์ฒ๋ฆฌ
ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ์ ์กํ๋ฉด ์์ฒญ์ ๋ค์ ๋จ๊ณ์ ์ค๋ช ๋ ๋๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
์์ฒญ์ ๋ค์๊ณผ ๊ฐ์ด ํน์
Route
๋ฆฌ์์ค์ ๋น๊ต๋ฉ๋๋ค.- Envoy๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ:
- ๊ฐ
HTTPRoute
๋๋GRPCRoute
๋ฆฌ์์ค์hostnames
ํ๋์ ๋ฐ๋ผ HTTP ์์ฒญ์ ํธ์คํธ ํค๋๋ฅผ ๋น๊ตํด์ ์์ฒญ์ ์ฌ๋ฐ๋ฅธRoute
๋ฆฌ์์ค๋ฅผ ์ ํํฉ๋๋ค.HTTPRoute
๋ฐGRPCRoute
๋ฆฌ์์ค์๋งhostnames
ํ๋๊ฐ ํฌํจ๋ฉ๋๋ค. - IP ์ฃผ์๋ฅผ ๋น๊ตํด์
TCPPRoute
๋ฅผ ์ฌ์ฉํ์ฌ TCP ํธ๋ํฝ์ ๋ผ์ฐํ ํฉ๋๋ค. - SNI ๋ฐ ALPN์
TLSRoute
๋ฅผ ์ฌ์ฉํ๋ TLS ํจ์ค ์ค๋ฃจ์ ์ฌ์ฉ๋ฉ๋๋ค. HTTPRoute
๋ฐGRPCRoute
๋ฆฌ์์ค๋Mesh
์ ์ฐ๊ฒฐ๋ฉ๋๋ค. ๋๋Gateway
์ ๊ณ ์ ํ ํธ์คํธ ์ด๋ฆ์ด ์์ด์ผ ํฉ๋๋ค. ํธ์คํธ ์ด๋ฆ์ด ์ถฉ๋ํ๋ ์ฌ๋ฌ ๊ฒฝ๋ก๋ฅผ ์ฐ๊ฒฐํ๋ ค๊ณ ์๋ํ๋ฉด ๊ตฌ์ฑ์ด ๊ฑฐ๋ถ๋ฉ๋๋ค.- ๋ง์ฐฌ๊ฐ์ง๋ก
TCPRoute
์IP:Port
ํ๋๊ฐ ๊ณ ์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ตฌ์ฑ์ด ๊ฑฐ๋ถ๋ฉ๋๋ค. - ๋ง์ฐฌ๊ฐ์ง๋ก SNI ๋ฐ ALPN์ด
TLSRoute
์ ๋ํด ๊ณ ์ ํด์ผ ํฉ๋๋ค. a.example.com
๋ฐ*.example.com
๊ณผ ๊ฐ์ ๊ฒน์น๋ ํธ์คํธ ์ด๋ฆ์ด ์์ผ๋ฉด ์์ฒญ์ด ๊ฒฝ๋ก๋ฅผ ๋ณด๋ค ์ธ๋ถ์ ์ผ๋ก ๋น๊ตํฉ๋๋ค.
- ๊ฐ
- ํ๋ก์๋ฆฌ์ค gRPC๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ:
- ํ๋ก์๋ฆฌ์ค gRPC ํด๋ผ์ด์ธํธ๋
xds
์ด๋ฆ ๋ณํ ์คํค๋ง๋ฅผ ์ฌ์ฉํฉ๋๋ค. Cloud Service Mesh์ ์์ฒญ์ ์ ์กํ์ฌ ๋์ URI์์hostname[:port]
๋ฅผ ํ์ธํฉ๋๋ค. GRPCRoute
์๋ต์ ํฌํธ๋ง ๋์ URI์ ํฌํธ(์:xds:///example.hostname:8080
)์ ๋น๊ต๋ฉ๋๋ค. ๋์ URI๋GRPCRoute
์hostnames
ํ๋์ ์๋ ๋ฌธ์์ด๊ณผ ์ ํํ๊ฒ ์ผ์นํด์ผ ํฉ๋๋ค.
- ํ๋ก์๋ฆฌ์ค gRPC ํด๋ผ์ด์ธํธ๋
- Envoy๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ:
Route
๋ฆฌ์์ค์๋ ์ถ๊ฐ ๋ผ์ฐํ ์ ๋ณด ๋ฐ ๊ท์น์ด ํฌํจ๋ ์ ์์ต๋๋ค.๋์ ๋ฐฑ์๋ ์๋น์ค๋ฅผ ์ ํํ ํ ๋ฐฑ์๋ ์๋น์ค ๋ฆฌ์์ค์ ๊ตฌ์ฑ์ ๋ฐ๋ผ ์ด ๋์ ๋ฐฑ์๋ ์๋น์ค์ ๋ฐฑ์๋ ๋๋ ์๋ํฌ์ธํธ ๊ฐ์ ํธ๋ํฝ์ด ๋ถ์ฐ๋ฉ๋๋ค.
๋ ๋ฒ์งธ ๋จ๊ณ๋ ๋ค์ ํธ์คํธ ๋ฐ ๊ฒฝ๋ก์ ๊ธฐ๋ฐํ ๋จ์ ๋ผ์ฐํ ์น์ ์์ ์ค๋ช ํฉ๋๋ค. ์ธ ๋ฒ์งธ ๋จ๊ณ๋ ๊ณ ๊ธ ๋ผ์ฐํ ๋ฐ ์์ ์์ ์ค๋ช ํฉ๋๋ค.
ํธ์คํธ ๋ฐ ๊ฒฝ๋ก์ ๊ธฐ๋ฐํ ๋จ์ ๋ผ์ฐํ
Cloud Service Mesh๋ ๊ฐ์ํ๋ ๋ผ์ฐํ ์คํค๋ง์ ๊ณ ๊ธ ์คํค๋ง๋ฅผ ์ง์ํฉ๋๋ค. ๋จ์ ์คํค๋ง์์ ํธ์คํธ ๋ฐ ๊ฒฝ๋ก(์ ํ์ฌํญ)๋ฅผ ์ง์ ํฉ๋๋ค. ์์ฒญ์ ํธ์คํธ ๋ฐ ๊ฒฝ๋ก๋ฅผ ํ๊ฐํ์ฌ ํด๋น ์์ฒญ์ด ๋ผ์ฐํ ๋ ๋ฐฑ์๋ ์๋น์ค๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
- ์์ฒญ ํธ์คํธ๋ URL์ ๋๋ฉ์ธ ์ด๋ฆ ๋ถ๋ถ์
๋๋ค. ์๋ฅผ ๋ค์ด URL
http://example.com/video/
์ ํธ์คํธ ๋ถ๋ถ์example.com
์ ๋๋ค. - ์์ฒญ์ ๊ฒฝ๋ก๋ ํธ์คํธ ์ด๋ฆ์ ๋ฐ๋ฅด๋ URL์ ๋ถ๋ถ์
๋๋ค. ์๋ฅผ ๋ค์ด URL
http://example.com/video/
์ ๊ฒฝ๋ก ๋ถ๋ถ์/video
์ ๋๋ค.
๋ค์์ผ๋ก ๊ตฌ์ฑ๋ ๋ผ์ฐํ ๊ท์น ๋งต์ ํธ์คํธ์ ๊ฒฝ๋ก๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋จ์ ๋ผ์ฐํ ์ ์ค์ ํฉ๋๋ค.
- ์ ์ญ
Mesh
HTTPRoute
๋๋GRPCRoute
๋๋ถ๋ถ์ ๊ตฌ์ฑ์ HTTPRoute
์์ ์ํ๋ฉ๋๋ค. ์ด๊ธฐ ๋ผ์ฐํ
๊ท์น ๋งต์ ๋ง๋ ํ์๋ HTTPRoute
๋ฆฌ์์ค๋ง ์์ ํ๋ฉด ๋ฉ๋๋ค.
๊ฐ์ฅ ๊ฐ๋จํ ๊ท์น์ ๊ธฐ๋ณธ ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์์ผ๋ ์นด๋(*
) ํธ์คํธ ๊ท์น ๋ฐ ๊ฒฝ๋ก ์ผ์น์๋ง ์ง์ ํ๋ ๊ธฐ๋ณธ ๊ท์น์
๋๋ค. ๊ธฐ๋ณธ ๊ท์น์ ๋ง๋ ํ ๋ค๋ฅธ ํธ์คํธ ๋ฐ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ ๊ท์น์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์์๋ฐ์ด๋ ์์ฒญ์ ์ด๋ฌํ ๊ท์น์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด ํ๊ฐ๋ฉ๋๋ค.
์์ฒญ์ ํธ์คํธ(์:
example.com
)๊ฐHTTPRoute
์ ํธ์คํธ ์ด๋ฆ๊ณผ ์ผ์นํ๋ ๊ฒฝ์ฐ:RouteRule
์ด ๊ทธ ๋ค์์ผ๋ก ํ๊ฐ๋ฉ๋๋ค.RouteRule
์ ํธ๋ํฝ์ ๋น๊ตํ๊ณ ํธ๋ํฝ์ด ์ผ์นํ ๋ ํธ๋ํฝ์ ๋ผ์ฐํ ํ๋ ๋ฐฉ๋ฒ์ ์ง์ ํฉ๋๋ค.- ๊ฐ
RouteRule
์ปจํ ์ด๋์๋ ์์ฒญ ๊ฒฝ๋ก์ ๋ฐ๋ผ ํ๊ฐ๋๋ ํ๋ ์ด์์ ๊ฒฝ๋ก ๋น๊ต๊ฐ ํฌํจ๋ฉ๋๋ค. - ์ผ์น ํญ๋ชฉ์ด ๋ฐ๊ฒฌ๋๋ฉด
RouteAction
์ ์ง์ ๋ ์๋น์ค๋ก ์์ฒญ์ด ๋ผ์ฐํ ๋ฉ๋๋ค.
HTTPRoute
์ ๋ฆฌ์์ค ํ๋ ๋ฐ ์๋ ๋ฐฉ๋ฒ์ ๋คํธ์ํฌ ์๋น์ค API ์ฐธ๊ณ ๋ฆฌ์์ค๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ณ ๊ธ ๋ผ์ฐํ ๋ฐ ์์
์์ฒญ์ ํธ์คํธ ๋ฐ ๊ฒฝ๋ก๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฒญ์ ๋ผ์ฐํ ํ๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ ์์ ์ ์ํํ๋ ค๋ฉด ๊ณ ๊ธ ๊ท์น์ ์ค์ ํ์ฌ ์์ฒญ์ ๋ผ์ฐํ ํ๊ณ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
๊ฐ๋ต์ ์ผ๋ก ๊ณ ๊ธ ๋ผ์ฐํ ๋ฐ ์์ ์ ๋ค์๊ณผ ๊ฐ์ด ์๋ํฉ๋๋ค.
- ๋จ์ ๋ผ์ฐํ
๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ฒญ์ ํธ์คํธ๋
HTTPRoute
๋๋GRPCRoute
์์ ๊ตฌ์ฑํ๋ ํธ์คํธ ๊ท์น๊ณผ ๋น๊ต๋ฉ๋๋ค. ์์ฒญ์ ํธ์คํธ๊ฐ ํธ์คํธ ์ด๋ฆ๊ณผ ์ผ์นํ๋ฉดHTTPRoute
๋๋GRPCRoute
๊ฐ ํ๊ฐ๋ฉ๋๋ค. - ๊ฒฝ๋ก๋ฅผ ์ ํํ ํ ์์ ์ ์ ์ฉํ ์ ์์ต๋๋ค.
๊ณ ๊ธ ๋ผ์ฐํ
๊ณ ๊ธ ๋ผ์ฐํ ์ ์์์ ์ค๋ช ํ ๋จ์ ๋ผ์ฐํ ๊ณผ ๋น์ทํ์ง๋ง ์ถ๊ฐ์ ์ธ ์ผ์น ์กฐ๊ฑด์ ์ง์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํค๋ ์ด๋ฆ์ด ํ๋ฆฌํฝ์ค ๋๋ ์ํฝ์ค ๋ฑ์ ๊ธฐ์ค์ผ๋ก ์ ํํ๊ฒ ์ผ์นํ๊ฑฐ๋ ์ผ๋ถ๋ง ์ผ์นํ๋ ๊ฒฝ์ฐ ๊ท์น์ด ์์ฒญ์ ํค๋์ ์ผ์นํ๋๋ก ์ง์ ํ ์ ์์ต๋๋ค. ํค๋ ์ด๋ฆ์ ์ ๊ท ํํ์๊ณผ ๋น๊ตํ์ฌ ํ๊ฐํ๊ฑฐ๋ ํค๋ ์ ๋ฌด๋ฅผ ํ์ธํ๋ ๋ค๋ฅธ ๊ธฐ์ค์ ๋ฐ๋ผ ๊ท์น์ ์ผ์น์ํฌ ์ ์์ต๋๋ค.
์ถ๊ฐ ์ผ์น ์กฐ๊ฑด๊ณผ headerMatches
๋ฐ queryParameterMatches
์ ๋ํ ์์ธํ ๋ด์ฉ์ network services
REST API ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
ํธ์คํธ, ๊ฒฝ๋ก, ํค๋, ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ฅผ ์ผ์น ์กฐ๊ฑด๊ณผ ๊ฒฐํฉํ๋ฉด ์ ํํ ํธ๋ํฝ ๊ด๋ฆฌ ์๊ฑด์ ๋ง๋ ๋งค์ฐ ์ ๊ตํ ๊ท์น์ ๋ง๋ค ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ค์ ํ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
HTTP ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ | gRPC ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ | |
---|---|---|
HTTP ํธ์คํธ์ gRPC ํธ์คํธ ๋น๊ต | ํธ์คํธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํธ์ถํ๋ URL์ ๋๋ฉ์ธ ์ด๋ฆ ๋ถ๋ถ์ ๋๋ค. ์๋ฅผ ๋ค์ด URL |
ํธ์คํธ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ฑ๋ URI์์ ํน์ ์๋น์ค์ ์ฐ๊ฒฐํ๋ ๋ฐ ์ฌ์ฉํ๋ ์ด๋ฆ์ ๋๋ค. ์๋ฅผ ๋ค์ด ์ฑ๋ URI |
HTTP ๊ฒฝ๋ก์ gRPC ๊ฒฝ๋ก ๋น๊ต | ๊ฒฝ๋ก๋ ํธ์คํธ ์ด๋ฆ ๋ค์์ ์ค๋ URL ๋ถ๋ถ์ ๋๋ค. ์๋ฅผ ๋ค์ด URL |
๊ฒฝ๋ก๋ HTTP/2 ์์ฒญ์ ์๋ฅผ ๋ค์ด |
๊ธฐํ gRPC ํค๋(๋ฉํ๋ฐ์ดํฐ) | gRPC๋ gRPC ํด๋ผ์ด์ธํธ์ gRPC ์๋ฒ ๊ฐ์ ๋ฉํ๋ฐ์ดํฐ ์ ์ก์ ์ง์ํ์ฌ RPC ํธ์ถ์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด ๋ฉํ๋ฐ์ดํฐ๋ HTTP/2 ์์ฒญ์์ ํค๋๋ก ์ ๋ฌ๋๋ ํค-๊ฐ ์์ ํ์์ ๋ฐ๋ฆ ๋๋ค. |
์์
Cloud Service Mesh๋ฅผ ์ฌ์ฉํ๋ฉด ์์ฒญ์ ์ฒ๋ฆฌํ ๋ Envoy ํ๋ก์ ๋๋ ํ๋ก์๋ฆฌ์ค gRPC ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ํํ๋ ์์ ์ ์ง์ ํ ์ ์์ต๋๋ค. Cloud Service Mesh๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์์ ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์์ | API ํ๋ ์ด๋ฆ | ์ค๋ช |
---|---|---|
๋ฆฌ๋๋ ์ | redirect |
๊ตฌ์ฑ ๊ฐ๋ฅํ 3xx ์๋ต ์ฝ๋๋ฅผ ๋ฐํํฉ๋๋ค. ๋ํ ์ ์ ํ URI๋ก Location ์๋ต ํค๋๋ฅผ ์ค์ ํ์ฌ ๋ฆฌ๋๋ ์
์์
์ ์ง์ ๋ ๋๋ก ํธ์คํธ์ ๊ฒฝ๋ก๋ฅผ ๋ฐ๊ฟ๋๋ค.
|
URL ์ฌ์์ฑ | urlRewrite |
์ ํํ ๋ฐฑ์๋ ์๋น์ค์ ์์ฒญ์ ์ ์กํ๊ธฐ ์ ์ URL์ ํธ์คํธ ์ด๋ฆ ๋ถ๋ถ์ด๋ URL์ ๊ฒฝ๋ก ๋ถ๋ถ ๋๋ ๋ ๋ค ์ฌ์์ฑํ ์ ์์ต๋๋ค. |
ํค๋ ๋ณํ | requestHeaderModifier/responseHeaderModifier |
๋ฐฑ์๋ ์๋น์ค์ ์์ฒญ์ ๋ณด๋ด๊ธฐ ์ ์ ์์ฒญ ํค๋๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํฉ๋๋ค. ๋ํ ๋ฐฑ์๋ ์๋น์ค์์ ์๋ต์ ์์ ํ ํ ์๋ต ํค๋๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ ์ ์์ต๋๋ค. |
ํธ๋ํฝ ๋ฏธ๋ฌ๋ง | requestMirrorPolicy |
์ ํํ ๋ฐฑ์๋ ์๋น์ค๋ก ์์ฒญ์ ์ ๋ฌํ๋ ๊ฒ ์ธ์ ๋์ผํ ์์ฒญ์ ํ์ด์ด ์ค ํฌ๊ฒ(fire-and-forget) ๋ฐฉ์์ผ๋ก ๊ตฌ์ฑ๋ ๋ฏธ๋ฌ๋ง ๋ฐฑ์๋ ์๋น์ค์ ์ ์กํฉ๋๋ค. ๋ถํ ๋ถ์ฐ๊ธฐ๋ ๋ฏธ๋ฌ๋ง๋ ์์ฒญ์ ๋ณด๋ด๋ ๋ฐฑ์๋์ ์๋ต์ ๊ธฐ๋ค๋ฆฌ์ง ์์ต๋๋ค. ๋ฏธ๋ฌ๋ง์ ๋ฐฑ์๋ ์๋น์ค์ ์ ๋ฒ์ ์ ํ ์คํธํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ๋ํ ๋ฏธ๋ฌ๋ง์ ์ฌ์ฉํ๋ฉด ํ๋ก๋์ ๋ฒ์ ์ด ์๋ ๋ฐฑ์๋ ์๋น์ค์ ๋๋ฒ๊ทธ ๋ฒ์ ์์ ํ๋ก๋์ ์ค๋ฅ๋ฅผ ๋๋ฒ๊น ํ ์ ์์ต๋๋ค. |
๊ฐ์ค์น ๊ธฐ๋ฐ ํธ๋ํฝ ๋ถํ | weightDestination.serviceName |
์ผ์นํ๋ ๊ท์น์ ํธ๋ํฝ์ ๊ฐ๋ณ ๋ฐฑ์๋ ์๋น์ค์ ํ ๋น๋ ์ฌ์ฉ์ ์ ์ ๊ฐ์ค์น์ ๋ง๊ฒ ์ฌ๋ฌ ๋ฐฑ์๋ ์๋น์ค์ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์คํ ์ด์ง ๋ฐฐํฌ ๋๋ A/B ํ ์คํ ์ ๊ตฌ์ฑํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด ํธ๋ํฝ ์ค 99%๋ ์์ ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ๋ฒ์ ์ด ์คํ๋๋ ์๋น์ค์ ์ ์กํ๊ณ ๋๋จธ์ง 1%๋ ํด๋น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ต์ ๋ฒ์ ์ด ์คํ๋๋ ๋ณ๋์ ์๋น์ค์ ์ ์กํ๋๋ก ๋ผ์ฐํ ์์ ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. |
์ฌ์๋ | retryPolicy |
๋ถํ ๋ถ์ฐ๊ธฐ๊ฐ ์คํจํ ์์ฒญ์ ์ฌ์๋ํ๋ ์กฐ๊ฑด, ์ฌ์๋ ์ ๋ถํ ๋ถ์ฐ๊ธฐ๊ฐ ๋๊ธฐํ๋ ์๊ฐ, ์ต๋ ์ฌ์๋ ํ์ฉ ํ์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. |
์ ํ ์๊ฐ | timeout |
์ ํํ ๊ฒฝ๋ก์ ์ ํ ์๊ฐ์ ์ง์ ํฉ๋๋ค. ์ ํ ์๊ฐ์ ์์ฒญ์ด ์์ ํ ์ฒ๋ฆฌ๋ ์๊ฐ๋ถํฐ ์๋ต์ด ์์ ํ ์ฒ๋ฆฌ๋ ๋๊น์ง ๊ณ์ฐ๋ฉ๋๋ค. ์ ํ ์๊ฐ์๋ ๋ชจ๋ ์ฌ์๋ ํ์๊ฐ ํฌํจ๋ฉ๋๋ค. |
๊ฒฐํจ ์ฃผ์ | faultInjectionPolicy |
๋์ ์ง์ฐ ์๊ฐ, ์๋น์ค ๊ณผ๋ถํ, ์๋น์ค ์ฅ์ , ๋คํธ์ํฌ ํํฐ์ ๋๋๊ธฐ ๋ฑ์ ์ฅ์ ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๋ ์์ฒญ์ ์ ๊ณตํ ๋ ์๋์ ์ผ๋ก ์ค๋ฅ๋ฅผ ๋ฐ์์ํฌ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฅ์ ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๋ฉด์ ์๋น์ค์ ๋ณต์๋ ฅ์ ํ ์คํธํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. |
๋ณด์ ์ ์ฑ | corsPolicy |
๊ต์ฐจ ์ถ์ฒ ๋ฆฌ์์ค ๊ณต์ (CORS) ์ ์ฑ ์ CORS ์์ฒญ์ ์ ์ฉํ๋ ๋ฐ ํ์ํ ์ค์ ์ ์ฒ๋ฆฌํฉ๋๋ค. |
์์ ๋ฐ ์๋ ๋ฐฉ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋คํธ์ํฌ ์๋น์ค API ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ฐ ๋ผ์ฐํ ๊ท์น์์ ๋ค์ ๊ฒฝ๋ก ์์ ์ค ํ๋๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
- ํธ๋ํฝ์ ๋จ์ผ ์๋น์ค๋ก ๋ผ์ฐํ
(
destination.serviceName
) - ์ฌ๋ฌ ์๋น์ค ๊ฐ ํธ๋ํฝ ๋ถํ (
destination.weight
) - ๋ฆฌ๋๋ ์
URL(
redirect
)
๋ํ ์์์ ์ธ๊ธํ ๋ผ์ฐํ ์์ ์ค ํ๋๋ฅผ ๋ค์ ๋ผ์ฐํ ์์ (Google Cloud ์ฝ์์์ ๋ถ๊ฐ ์์ ์ด๋ผ๊ณ ํจ) ์ค ํ๋ ์ด์๊ณผ ๊ฒฐํฉํ ์ ์์ต๋๋ค.
- ์์ฒญ ๋๋ ์๋ต ํค๋ ์กฐ์(
requestHeaderModifier/responseHeaderModifier
) - ํธ๋ํฝ ๋ฏธ๋ฌ๋ง(
requestMirrorPolicy
) - URL ํธ์คํธ๋ ๊ฒฝ๋ก ๋๋ ๋ ๋ค ๋ค์ ์์ฑ(
urlRewrite
) - ์คํจํ ์์ฒญ ์ฌ์๋(
retryPolicy
) - ์ ํ ์๊ฐ ์ค์ (
timeout
) - ํธ๋ํฝ ๋น์จ์ ๊ฒฐํจ ๋์
(
faultInjectionPolicy
) - ๊ต์ฐจ ์ถ์ฒ ๋ฆฌ์์ค ๊ณต์ (CORS) ์ ์ฑ
์ถ๊ฐ(
corsPolicy
)
์์ ์ ํน์ ๊ท์น๊ณผ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฏ๋ก Envoy ํ๋ก์ ๋๋ ํ๋ก์๋ฆฌ์ค gRPC ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒ๋ฆฌ ์ค์ธ ์์ฒญ์ ๊ธฐ๋ฐ์ผ๋ก ๋ค๋ฅธ ์์ ์ ์ ์ฉํ ์ ์์ต๋๋ค.
์๋น์ค์ ๋ฐฑ์๋ ๊ฐ์ ํธ๋ํฝ ๋ถ์ฐ
์์ฒญ ์ฒ๋ฆฌ์ ์ค๋ช ์ฒ๋ผ ํด๋ผ์ด์ธํธ๋ ์์๋ฐ์ด๋ ์์ฒญ์ ์ฒ๋ฆฌํ ๋ ๋จผ์ ๋์ ์๋น์ค๋ฅผ ์ ํํฉ๋๋ค. ๋์ ์๋น์ค๋ฅผ ์ ํํ๋ฉด ์์ฒญ์ ์์ ํ ๋ฐฑ์๋ ๋๋ ์๋ํฌ์ธํธ๋ฅผ ํ์ ํด์ผ ํฉ๋๋ค.
์๊ธฐ์ ๋ค์ด์ด๊ทธ๋จ์์๋ ๊ท์น์ด ๊ฐ์ํ๋์์ต๋๋ค. ๊ท์น์ ์ผ๋ฐ์ ์ผ๋ก ํธ์คํธ ๊ท์น, ๊ฒฝ๋ก ์ผ์น์, ํ๋ ์ด์์ ๊ฒฝ๋ก ๋๋ ๋ผ์ฐํ ๊ท์น์ ๋๋ค. ๋์ ์๋น์ค๋ (๋ฐฑ์๋) ์๋น์ค์ ๋๋ค. ๋ฐฑ์๋ 1, โฆ, ๋ฐฑ์๋ n์ ์์ฒญ์ ์์ ํ๊ณ ์ฒ๋ฆฌํฉ๋๋ค. ์ด๋ฌํ ๋ฐฑ์๋๋ ์๋ฒ ์ธก ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ ํธ์คํ ํ๋ Compute Engine ๊ฐ์ ๋จธ์ (VM) ์ธ์คํด์ค์ผ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์์ฒญ์ ์ฒ๋ฆฌํ๋ ํด๋ผ์ด์ธํธ๋ ์ฉ๋์ด ์๋ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ์ ๋ฐฑ์๋๋ก ์์ฒญ์ ์ ์กํฉ๋๋ค. ํน์ ๋ฐฑ์๋์ ๊ณผ๋ถํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ผ์ด๋ ๋ก๋น ๋ถํ ๋ถ์ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๋์ ์๋น์ค์ ๋ค๋ฅธ ๋ฐฑ์๋์ ํ์ ์์ฒญ์ ๋ถํ๋ฅผ ๋ถ์ฐํฉ๋๋ค. ํ์ง๋ง ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ด๋ฌํ ๋์์ ๋ ์ธ๋ฐํ๊ฒ ์ ์ดํด์ผ ํ ์ ์์ต๋๋ค.
๋ถํ ๋ถ์ฐ, ์ธ์ ์ดํผ๋ํฐ, ๋ฐฑ์๋ ๋ณดํธ
๊ฐ ์๋น์ค์ ๋ค์๊ณผ ๊ฐ์ ํธ๋ํฝ ๋ถ์ฐ ์ ์ฑ ์ ์ค์ ํ ์ ์์ต๋๋ค.
์ ์ฑ | API ํ๋ ์ด๋ฆ | ์ค๋ช |
---|---|---|
๋ถํ ๋ถ์ฐ ๋ชจ๋ | balancingMode |
๋์ ์๋น์ค๋ฅผ ์ ํํ ํ ๋คํธ์ํฌ ์๋ํฌ์ธํธ ๊ทธ๋ฃน(NEG) ๋๋ ๊ด๋ฆฌํ ์ธ์คํด์ค ๊ทธ๋ฃน(MIG)์ ์ ํํ๋ ๋ฐฉ๋ฒ์ ์ ์ดํฉ๋๋ค. ๋์ ์ฐ๊ฒฐ๊ณผ ์์ฒญ ๋น์จ์ ๊ธฐ๋ฐ์ผ๋ก ๋ถํ๋ฅผ ๋ถ์ฐํ๋๋ก ๋ถ์ฐ ๋ชจ๋๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. |
๋ถํ ๋ถ์ฐ ์ ์ฑ | localityLbPolicy |
NEG ๋๋ MIG ๋ด์ ๋ฐฑ์๋ ๊ฐ์ ํธ๋ํฝ์ ๋ถ์ฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ถํ ๋ถ์ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ค์ ํฉ๋๋ค. ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ(์: ๋ผ์ด๋ ๋ก๋น, ์ต์ ์์ฒญ ๋ฑ) ์ค์์ ์ ํํ์ฌ ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์ต๋๋ค. |
์ธ์ ์ดํผ๋ํฐ | sessionAffinity |
์ธ์ ์ดํผ๋ํฐ๋ ๋ฐฑ์๋๊ฐ ์ ์์ด๊ณ ์ฉ๋์ด ์๋ ํ ํน์ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋์ผํ ๋ฐฑ์๋๋ก ์ ์กํฉ๋๋ค. Cloud Service Mesh๋ 4๊ฐ์ง ์ธ์ ์ดํผ๋ํฐ ์ต์ ์ฆ, ํด๋ผ์ด์ธํธ IP ์ฃผ์, HTTP ์ฟ ํค ๊ธฐ๋ฐ, HTTP ํค๋ ๊ธฐ๋ฐ, ์์ฑ๋ ์ฟ ํค ์ดํผ๋ํฐ(Cloud Service Mesh์์ ์์ฒด ์์ฑ)๋ฅผ ์ง์ํฉ๋๋ค. |
์ผ๊ด๋ ํด์ | consistentHash |
HTTP ํค๋, ์ฟ ํค ๋๋ ๊ธฐํ ์์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ์ํํธ ์ธ์ ์ดํผ๋ํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. |
ํ๋ก ์ฐจ๋จ๊ธฐ | circuitBreakers |
๋ฐฑ์๋ ์๋น์ค ์ฐ๊ฒฐ๋ ๋ฐ ์ฐ๊ฒฐ๋น ์์ฒญ์ ์ํ๊ฐ์ ์ค์ ํฉ๋๋ค. |
์ด์์ ๊ฐ์ง | outlierDetection |
(1) MIG ๋๋ NEG์์ ๋น์ ์ ๋ฐฑ์๋ ๋๋ ์๋ํฌ์ธํธ๋ฅผ ์ญ์ ํ๊ณ (2) ํธ๋ํฝ์ ๋ค์ ์์ ํ๊ธฐ์ ์ถฉ๋ถํ ์ ๋๋ก ์ ์์ผ๋ก ๊ฐ์ฃผ๋๋ ๊ฒฝ์ฐ ๋ฐฑ์๋ ๋๋ ์๋ํฌ์ธํธ๋ฅผ ๋ค์ ์ถ๊ฐํ ๊ธฐ์ค์ ์ง์ ํฉ๋๋ค. ์๋น์ค์ ๊ด๋ จ๋ ์ํ ์ ๊ฒ์์ ๋ฐฑ์๋ ๋๋ ์๋ํฌ์ธํธ๊ฐ ์ ์์ผ๋ก ๊ฐ์ฃผ๋๋์ง ๊ฒฐ์ ํฉ๋๋ค. |
๋ค์ํ ํธ๋ํฝ ๋ถ์ฐ ์ต์ ๊ณผ ์๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์ฌ์ฉ ์ฌ๋ก
๊ณ ๊ธ ํธ๋ํฝ ๊ด๋ฆฌ๋ ๋ง์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ํด๊ฒฐํฉ๋๋ค. ์ด ์น์ ์์๋ ๋ช ๊ฐ์ง ๊ฐ๋ต์ ์ธ ์์๋ฅผ ์ค๋ช ํฉ๋๋ค.
์ํ ์ฝ๋๋ฅผ ํฌํจํ ๋ ๋ง์ ์์๋ Envoy๋ก ๊ณ ๊ธ ํธ๋ํฝ ๊ด๋ฆฌ ๊ตฌ์ฑ ๋ฐ ํ๋ก์๋ฆฌ์ค gRPC ์๋น์ค๋ก ๊ณ ๊ธ ํธ๋ํฝ ๊ด๋ฆฌ ๊ตฌ์ฑ์์ ์ฐพ์ ์ ์์ต๋๋ค.
๋ง์ถค์ค์ ์ ์ํ ์ธ๋ถํ๋ ํธ๋ํฝ ๋ผ์ฐํ
์์ฒญ ๋งค๊ฐ๋ณ์์ ๋ฐ๋ผ ์๋น์ค๋ก ํธ๋ํฝ์ ๋ผ์ฐํ
ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ Android ์ฌ์ฉ์์๊ฒ ๋ณด๋ค ๋ง์ถคํ๋ ํ๊ฒฝ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ๋ค์ ๋ค์ด์ด๊ทธ๋จ์์ Cloud Service Mesh๋ ์ผ๋ฐ ์๋น์ค ๋์ Android ์๋น์ค๋ก user-agent:Android
ํค๋๊ฐ ํฌํจ๋ ์์ฒญ์ ๋ณด๋ด๋๋ก ์๋น์ค ๋ฉ์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
Android
์ ์ค์ ๋ user-agent
ํค๋ ๊ธฐ๋ฐ ๋ผ์ฐํ
(ํ๋ํ๋ ค๋ฉด ํด๋ฆญ)๋ ์์ ํ ๋ฐฐํฌ๋ฅผ ์ํ ๊ฐ์ค์น ๊ธฐ๋ฐ ํธ๋ํฝ ๋ถํ
๊ธฐ์กด ํ๋ก๋์ ์๋น์ค์ ์ ๋ฒ์ ์ ๋ฐฐํฌํ๋ ๊ฒ์ ์ํํ ์ ์์ต๋๋ค. ํ ์คํธ๊ฐ ํ ์คํธ ํ๊ฒฝ์ผ๋ก ์ ๋ฌ๋ ํ์๋ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ๋ฐ๋ก ์ ๋ฒ์ ์ผ๋ก ๋ผ์ฐํ ํ๋ ๊ฒ์ ์ํ์ง ์์ ๊ฒ์ ๋๋ค.
Cloud Service Mesh๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ์๋น์ค์ ํธ๋ํฝ์ ๋ถ์ฐํ ์ ์๋๋ก ๊ฐ์ค์น ๊ธฐ๋ฐ ํธ๋ํฝ ๋ถํ ์ ์ ์ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํธ๋ํฝ์ 1%๋ฅผ ์ ๋ฒ์ ์ ์๋น์ค๋ก ์ ์กํ๊ณ ๋ชจ๋ ๊ฒ์ด ์๋ํ๋์ง ๋ชจ๋ํฐ๋งํ ๋ค์ ์ ์๋น์ค๋ก ์ด๋ํ๋ ํธ๋ํฝ์ ๋น์จ์ ์ ์ฐจ์ ์ผ๋ก ํ๋ํ ์ ์์ต๋๋ค.
๋๋ฒ๊น ์ ์ํ ํธ๋ํฝ ๋ฏธ๋ฌ๋ง
๋ฌธ์ ๋ฅผ ๋๋ฒ๊น ํ ๋ ํ๋ก๋์ ํธ๋ํฝ์ ๋ณต์ฌ๋ณธ์ ๋๋ฒ๊น ์๋น์ค๋ก ๋ณด๋ด๋ ๊ฒ์ด ์ ์ฉํ ์ ์์ต๋๋ค. Cloud Service Mesh๋ฅผ ์ฌ์ฉํ๋ฉด ์์ฒญ์ ํ ์๋น์ค์ ์ ์กํ๊ณ ํด๋น ์์ฒญ์ ์ฌ๋ณธ์ ๋ค๋ฅธ ์๋น์ค์ ์ ์กํ๋๋ก ์์ฒญ ๋ฏธ๋ฌ๋ง ์ ์ฑ ์ ์ค์ ํ ์ ์์ต๋๋ค.
์ฑ๋ฅ ํฅ์์ ์ํ ์ธ๋ถํ๋ ๋ถํ ๋ถ์ฐ
์ ํ๋ฆฌ์ผ์ด์ ํน์ฑ์ ๋ฐ๋ผ ์๋น์ค์ ๋ฐฑ์๋์ ํธ๋ํฝ์ด ๋ถ์ฐ๋๋ ๋ฐฉ์์ ์ธ๋ถ ์กฐ์ ํ๋ฉด ์ฑ๋ฅ ๋ฐ ๊ฐ์ฉ์ฑ์ ๊ฐ์ ํ ์ ์์ต๋๋ค. Cloud Service Mesh๋ฅผ ์ฌ์ฉํ๋ฉด ํ์์ ๋ฐ๋ผ ํธ๋ํฝ์ด ๋ถ์ฐ๋๋๋ก ๊ณ ๊ธ ๋ถํ ๋ถ์ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ ์ ์์ต๋๋ค.
๋ค์ ๋ค์ด์ด๊ทธ๋จ์ ์ด์ ๋ค์ด์ด๊ทธ๋จ๊ณผ ๋น๊ตํ์ฌ ๋์ ๋ฐฑ์๋ ์๋น์ค(ํ๋ก๋์ ์๋น์ค)์ ์ด ๋ฐฑ์๋ ์๋น์ค์ ๋ฐฑ์๋(๊ฐ์ ๋จธ์ 1, ๊ฐ์ ๋จธ์ 2, ๊ฐ์ ๋จธ์ 3)๋ฅผ ๋ชจ๋ ๋ณด์ฌ์ค๋๋ค. ๊ณ ๊ธ ํธ๋ํฝ ๊ด๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ ๋ฐฑ์๋ ์๋น์ค๋ฅผ ์ ํํ๋ ๋ฐฉ์๊ณผ ๋์ ์๋น์ค์ ๋ฐฑ์๋ ๊ฐ์ ํธ๋ํฝ์ ๋ถ์ฐํ๋ ๋ฐฉ์์ ๋ชจ๋ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
Cloud Service Mesh๋ฅผ ์ฌ์ฉํ๋ ๋ถํ ๋ถ์ฐ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ณ ๊ธ ๋ถํ ๋ถ์ฐ ๊ฐ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ
- ๋ฉ์ ์ธ๋ถ์์ ๋ฉ์ ๋ด๋ก ํธ๋ํฝ์ ์ ๋ฌํ๋ ค๋ฉด ๋ฉ์์ ์ธ๊ทธ๋ ์ค ํธ๋ํฝ์ ์ฐธ์กฐํ์ธ์.