Istio๋ฅผ ์ด์šฉํ•˜์—ฌ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌํ•˜๊ธฐ  

Istio๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๊ณ ๊ธ‰ ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ ๋ฐ ์š”์ฒญ ์ถ”์  ๊ธฐ๋Šฅ ์ ์šฉํ•˜๊ธฐ

Last updated

๊ฐœ๋ฐœ์ž๋“ค์ด ์†Œํ˜•์˜ ๋น ๋ฅธ ๊ตฌํ˜„๊ณผ ๋ณต์›๋ ฅ์„ ๊ฐ•ํ™”์— ์ดˆ์ ์„ ๋งž์ถ˜ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋ฅผ ์„ ํ˜ธํ•˜๋ฉด์„œ ๋Œ€ํ˜• ๋ชจ๋…ธ๋ฆฌ์Šค์•ฑ(monolithic app)์—์„œ ๋ฉ€์–ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ƒˆ๋กœ์šด ์ƒํƒœ๊ณ„์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•˜๋ ค๋ฉด, ๊ฐœ๋ฐœ์ž๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์Šค, ๊ณ ๊ธ‰ ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ, ์š”์ฒญ ์ถ”์  ๋ฐ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๊ฐ€ ๋ฐฐํฌ๋œ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

By Anthony Amanse, Animesh Singh

Overview

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

์„œ๋น„์Šค ๋ฉ”์‹œ์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๊ณ  ๋ณต์žก๋„๊ฐ€ ๋†’์•„์ง€๋ฉด ์ด๋ฅผ ์ดํ•ดํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์–ด๋ ค์šด์ง€ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋‚ด์šฉ์„ ์งˆ๋ฌธ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: ์ฆ๊ฐ€ํ•˜๋Š” ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐํ•˜๊ณ , ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•˜๋ฉฐ, ์—ญํ•  ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…์„ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋“ค์—์„œ ์™ธ๋ถ€๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋‚˜๊ฐ€๊ฒŒ ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ๊ทธ๋ฆฌ๊ณ , ์นด๋‚˜๋ฆฌ์•„ ๋ฐฐํฌ๋Š” ์–ด๋–ป๊ฒŒ ํ…Œ์ŠคํŠธํ• ๊นŒ์š”? self-contained ์•ฑ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€๋ฐ, ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์„ธ๊ณ„์˜ ๋ณต์žก์„ฑ์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌ ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

IBM, Google ๋ฐ Lyft์˜ ๊ณต๋™ ์ž‘์—…์ธ Istio๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Istio๋Š” ํ”Œ๋žซํผ์ด๋‚˜ ์†Œ์Šค ์ฝ”๋“œ ๋˜๋Š” ๋ฒค๋”์— ์ƒ๊ด€์—†์ด ์„œ๋กœ ๋‹ค๋ฅธ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋ผ๋ฆฌ ๋„คํŠธ์›Œํฌ๋ฅผ ์›ํ™œํ•˜๊ฒŒ ์—ฐ๊ฒฐํ•˜๊ณ , ๊ด€๋ฆฌ ๋ฐ ๋ณดํ˜ธ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐฉํ˜• ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ๋ณธ ๊ณผ์ •์—์„œ๋Š” Istio๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์˜ ์‚ฌ์ด๋“œ์นด ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ์ œ๊ณตํ•˜๋Š” ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ๊ฐ„ ํ†ต์‹  ๋ฐ ์ธ๋ฐ”์šด๋“œ, ์•„์›ƒ๋ฐ”์šด๋“œ ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์ •๊ตํ•œ ๊ด€๋ฆฌ ๋ฐ ์ œ์–ด๊ธฐ๋Šฅ์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์š”์ฒญ ์ถ”์ ์— ๋Œ€ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์ˆ˜์ง‘์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„์— ๋Œ€ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•๋„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ณธ ๊ณผ์ •์€ ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์ง€ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค๋ฃจ๋Š” ๋ชจ๋“  ์ด์—๊ฒŒ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Flow

  1. ์‚ฌ์šฉ์ž๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ๊ตฌ์„ฑ๋œ ์•ฑ์„ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. “BookInfo” ์•ฑ์€ ๋„ค ๊ฐœ์˜ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์–ธ์–ด์ธ Python, Java, Ruby ๊ทธ๋ฆฌ๊ณ  Node.js๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Reviews ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋Š” Java๋กœ ์ž‘์„ฑ๋˜์—ˆ๊ณ  ์„ธ ๊ฐ€์ง€ ๋ฒ„์ ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์•ฑ์ด Istio ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ Istio envoy๋ฅผ ์ฃผ์ž…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Envoy๋Š” ๊ฐ๊ฐ์˜ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์— ์‚ฌ์ด๋“œ์นด๋กœ์„œ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. Envoy๋ฅผ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์— ์ฃผ์ž…ํ•œ๋‹ค๋Š” ๊ฒƒ์€ Envoy ์‚ฌ์ด๋“œ์นด๊ฐ€ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ธ๋ฐ”์šด๋“œ, ์•„์›ƒ๋ฐ”์šด๋“œ ์—ฐ๊ฒฐ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์‚ฌ์šฉ์ž๊ฐ€ Istio์—์„œ ์‹คํ–‰ ์ค‘์ธ ์•ฑ์— ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด์ œ ์•ฑ์„ ๋ฐฐํฌํ•œ ํ›„, ์‚ฌ์šฉ์ž๋Š” ์˜ˆ์ œ ์•ฑ์— ๋Œ€ํ•ด ๊ณ ๊ธ‰ Istio ๊ธฐ๋Šฅ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ์ž๋Š” ๊ฐ€์ค‘์น˜์™€ HTTP ํ—ค๋” ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋น„์Šค ๋ผ์šฐํŠธ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ, Review ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์˜ ๋ฒ„์ „1๊ณผ 3์ด ๊ฐ๊ฐ ํŠธ๋ž˜ํ”ฝ์˜ 50%์”ฉ ์–ป๊ฒŒ ๋˜๊ณ , ๋ฒ„์ „2๋Š” ํŠน์ • ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด์„œ๋งŒ ํ™œ์„ฑํ™” ๋ฉ๋‹ˆ๋‹ค.
  4. ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ ์ œ์–ด๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. Review ๋ฒ„์ ผ3์—์„œ Ratings ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋กœ ์ ‘๊ทผํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ ์ฐจ๋‹จ์„ ์œ„ํ•ด, Mixer ๋ฃฐ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  5. ์•ฑ์— ๋Œ€ํ•œ ๋ฐฐํฌ์™€ ์„ค์ •์ด ๋๋‚œ ํ›„์— ์‚ฌ์šฉ์ž๋Š” ์›๊ฒฉ ์ธก์ • ์ •๋ณด์™€ ๋กœ๊ทธ ์ˆ˜์ง‘์„ ํ™œ์„ฑํ™” ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”ํŠธ๋ฆญ๊ณผ ๋กœ๊ทธ ์ •๋ณด ์ˆ˜์ง‘์„ ์œ„ํ•ด Istio Mixer๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ํ•„์š”ํ•œ Istio ์• ๋“œ-์˜จ์ธ Prometheus์™€ Grafana๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ถ”์  ๋ฒ”์œ„ ์ˆ˜์ง‘์„ ์œ„ํ•ด Zipkin ์• ๋“œ-์˜จ์„ ์„ค์น˜ํ•˜๊ณ  ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  6. ์‚ฌ์šฉ์ž๋Š” Bookinfo๋ฅผ ์œ„ํ•ด Bluemix์˜ Compose for MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊ฐ™์€ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  7. ์›๋ณธ ์˜ˆ์ œ์ธ BookInfo ์•ฑ์˜ ์„ธ ๊ฐœ์˜ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค Details, Ratings & Reviews๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ MySQL ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. MySQL ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด Details ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์—๋Š” MySQL Ruby gem์ด ์ถ”๊ฐ€๋˜๊ณ , Ratings ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์—๋Š” MySQL ๋…ธ๋“œ ๋ชจ๋“ˆ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. Reviews ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ๋ฒ„์ ผ 1, 2, 3์—๋Š” mysql-connector-java ์ข…์†์„ฑ์ด ์ถ”๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  8. ์‚ฌ์šฉ์ž๋Š” ์•ฑ์„ ๋ฐฐํฌํ•˜๊ณ  egress ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ Envoy ํ”„๋ก์‹œ๋ฅผ ํ™œ์„ฑํ™” ํ•ฉ๋‹ˆ๋‹ค. Envoy ํ”„๋ก์‹œ๋Š” ๊ฐ๊ฐ์˜ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์˜†์— ์‚ฌ์ด๋“œ์นด๋กœ์„œ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” Envoy ์‚ฌ์ด๋“œ์นด๊ฐ€ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ธ๋ฐ”์šด๋“œ, ์•„์›ƒ๋ฐ”์šด๋“œ ์—ฐ๊ฒฐ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ, Envoy๋Š” http/https ํ”„๋กœํ† ์ฝœ๋งŒ์„ ์ง€์›ํ•˜๋ฏ€๋กœ MySQL deployment์šฉ IP ๋ฒ”์œ„ ๋‚ด์—์„œ ์ œ๊ณต๋˜๋Š” MySQL ์—ฐ๊ฒฐ ํŠธ๋ž˜ํ”ฝ์„ ํ”„๋ก์‹œ๊ฐ€ ๊ฐ€๋กœ์ฑ„์ง€ ์•Š๋„๋ก ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์•ฑ์ด ํ™œ์„ฑํ™”๋˜์–ด ์‹คํ–‰๋  ๋•Œ, ์‚ฌ์šฉ์ž๋Š” IP์™€ Node ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์— ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Components

Istio

๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋ฅผ ์—ฐ๊ฒฐ, ๊ด€๋ฆฌ ๋ฐ ์•ˆ์ „ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ์˜คํ”ˆ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.

Bluemix DevOps Toolchain Service

๊ฐœ๋ฐœ, ๋ฐฐํฌ ๋ฐ ์šด์˜ ์ž‘์—…์„ ์ง€์›ํ•˜๋Š” ๋„๊ตฌ ํ†ตํ•ฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

Technologies

ํด๋ผ์šฐ๋“œ

์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ปดํ“จํŒ… ๋ฐ IT ๋ฆฌ์†Œ์Šค์— ์—‘์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค

์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜

์ปจํ…Œ์ด๋„ˆํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ, ์Šค์ผ€์ผ๋ง ๋ฐ ๊ด€๋ฆฌ์˜ ์ž๋™ํ™”.

Containers

์•ฑ ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ชจ๋“  ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐ€์ƒ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ์ฒด.

Java

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์•ˆ์ „ํ•œ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด.

Microservices

ํด๋ผ์šฐ๋“œ ๋‚ด ์ตœ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ์˜ ๊ตฌ์„ฑ์š”์†Œ ์ œ๊ณต์„ ์œ„ํ•ด ๊ฒฝ๋Ÿ‰ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ์„ธ๋ถ„ํ™”๋œ ์•ฝ๊ฒฐํ•ฉ ์„œ๋น„์Šค๋“ค์˜ ์ง‘ํ•ฉ.

Node.js

์„œ๋ฒ„์‚ฌ์ด๋“œ JavaScript ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค JavaScript ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค.

Related Blogs

๊ท€ํ•˜๊ฐ€ ์ž…๋ ฅํ•œ ์‡ผํŠธ์ฝ”๋“œ ๊ฒ€์ƒ‰์กฐ๊ฑด์— ๋งค์น˜๋˜๋Š” ํฌ์ŠคํŒ…์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Related Links

์ฝ”๋“œ: ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— MicroProfile ๊ธฐ๋ฐ˜์˜ Java ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ๊ตฌ์ถ•ํ•˜๊ธฐ

MicroProfile๊ณผ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ Java 8๊ธฐ๋ฐ˜์˜ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋ฅผ ์–ผ๋งˆ๋‚˜ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ณ  ๋ฐฐํฌํ•˜๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ธ”๋กœ๊ทธ: ํด๋ฆฌ๊ธ€๋กฏ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์™€ ์‚ฌ์ดํŠธ์นด ํŒจํ„ด – ํ™˜์ƒ์˜ ์ง๊ถ!(์˜๋ฌธ)

์‚ฌ์ด๋“œ์นด๋Š” ๊ฐœ๋…์ ์œผ๋กœ ๋ฉ”์ธ ๋˜๋Š” ๋ถ€๋ชจ ์•ฑ์— “๋ถ™์—ฌ์ ธ์„œ” ์ œ๊ณตํ•˜๋Š” ํ”Œ๋žซํผ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

๋ธ”๋กœ๊ทธ: Java ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค, ์ปจํ…Œ์ด๋„ˆ ๊ทธ๋ฆฌ๊ณ  ํด๋ผ์šฐ๋“œ(์˜๋ฌธ)

ํด๋ผ์šฐ๋“œ์˜ ์ง„ํ™”์™€ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์˜ ๋ถ€์ƒ์€ ๋ณด๋‹ค ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณด๋‹ค ์ž‘๊ณ  ์• ์ž์ผํ•œ ํŒ€์œผ๋กœ ๋นจ๋ฆฌ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด์ˆ˜ ์žˆ๋„๋ก ์ƒˆ๋กœ์šด ๋„์ „๊ณผ ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.