코드 생성 전 아키텍처 결정

Lino๋Š” ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•˜์ง€๋งŒ ๊ฒฐ๊ณผ์˜ ํ’ˆ์งˆ์€ ์ƒ์„ฑ ์ „์— ๋‚ด๋ฆฐ ๊ฒฐ์ •์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ํ•œ๊ณ„, ํ”„๋กœ์ ํŠธ ์œ ํ˜•, ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์ „๋žต ๋ฐ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ์ˆ  ๋ถ€์ฑ„ ์ˆ˜์ค€์„ ์„ ํƒํ•˜๋ฉด ์ดˆ๊ธฐ ์ƒ์‚ฐ์„ฑ์ด ์žฌ์ž‘์—…์œผ๋กœ ์ „ํ™˜๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ ๊ธ‰ ์„œ๋น„์Šค, ๋ชจ๋“ˆ ๋ฐ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๊ธฐ ์ „์— ์ด ํŽ˜์ด์ง€๋ฅผ ์•„ํ‚คํ…์ฒ˜ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ํŒ€, ๋„๋ฉ”์ธ ๋ฐ ์šด์˜์„ ์กฐ์ •ํ•˜์„ธ์š”.

ํ”„๋กœ์ ํŠธ ์œ ํ˜•

๋‹ฌ๋ฆฌ๊ธฐ ์ „ lino project new, ์‹œ์Šคํ…œ์˜ ๋ชฉํ‘œ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ๊ด€๋ฆฌ ํ”„๋กœ์ ํŠธ, ๋‹ค์ค‘ tenant SaaS, ๊ณต์šฉ API ๋ฐ ๋ถ„์‚ฐ ํ”Œ๋žซํผ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์€ ์„œ๋กœ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

  • ๊ฐ„๋‹จํ•œ ์ ์šฉ: ์ปจํ…์ŠคํŠธ๊ฐ€ ์ ๊ณ  ๋‹จ์ผ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์šด์˜ ๋…๋ฆฝ์„ฑ์— ๋Œ€ํ•œ ํ•„์š”์„ฑ์ด ๋‚ฎ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋“ˆํ˜• ๋‹จ์ผ์ฒด: ๋ช…ํ™•ํ•œ ๊ฒฝ๊ณ„์™€ ๋‚ฎ์€ ์šด์˜ ๋น„์šฉ์„ ๊ฐ–์ถ˜ ๋™์ผํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ.
  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค: ๋ณ„๋„์˜ ์„œ๋น„์Šค, ๋…๋ฆฝ์ ์ธ ๋ฐฐํฌ, ๋น„๋™๊ธฐ์‹ ํ†ต์‹  ๋ฐ ๋” ํฐ ์šด์˜ ๋ณต์žก์„ฑ.
  • SaaS: tenant ๊ฒฉ๋ฆฌ, ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ, secrets, rate limiting, observability ๋ฐ ๋ช…ํ™•ํ•œ ์ฒญ๊ตฌ/์šด์˜ ๊ฒฐ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฒฐ์ •์€ ๋˜ํ•œ ์ฒซ๋‚ ์— ์–ด๋–ค ์šฐ๋ ค ์‚ฌํ•ญ์ด ๋ฐœ์ƒํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. SaaS๋Š” ์„ธ์ž…์ž๋ฅผ ๋Šฆ์€ ์„ธ๋ถ€ ์‚ฌํ•ญ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐœ API๋Š” rate limiting ๋ฐ ๋ช…ํ™•ํ•œ ๊ณ„์•ฝ ์—†์ด๋Š” ํƒ„์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ๊ฐ€ ์žˆ๋Š” ์†”๋ฃจ์…˜์€ Outbox, ๋ฉฑ๋“ฑ์„ฑ ๋ฐ observability์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ฌธํ™”๊ถŒ์„ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฌธ์ž์—ด์ด ํฉ์–ด์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ฐ˜์„ ๋งŒ๋“ค ๋•Œ ์ง€์›๋˜๋Š” ๋ฌธํ™”๊ถŒ, ๋ถ„์‚ฐ ์บ์‹œ, ๋น„๋™๊ธฐ ํ†ต์‹ , ์ฝ”๋“œ ๋ถ„์„๊ธฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์œ ํ˜•, ์›น ์•ฑ ์กด์žฌ, ์ธ์ฆ, tenant ๋ฐ ์ž‘์—…์ž ๋“ฑ ์ฃผ์š” ์„ ํƒ ์‚ฌํ•ญ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ต์…˜์€ ํŒจํ‚ค์ง€, ํ…œํ”Œ๋ฆฟ, AppHost, ๋งค๊ฐœ๋ณ€์ˆ˜, secrets, ์ƒ์„ฑ๋œ ํ”„๋กœ์ ํŠธ ๋ฐ ๋‚˜์ค‘์— ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋…ธ๋ ฅ์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

๋ชจ๋“ˆ์‹ ๋Œ€ ๋ชจ๋“ˆ์‹ Monolith ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค

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

๋ชจ๋“ˆ์‹ ๋ชจ๋†€๋ฆฌ์Šค๋กœ ์‹œ์ž‘ํ•œ๋‹ค๊ณ  ํ•ด์„œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด๋Š” ๋„๋ฉ”์ธ์ด ๊ฒ€์ƒ‰๋˜๋Š” ๋™์•ˆ ๊ฐ„๋‹จํ•œ ๋ฐฐํฌ๋ฅผ ์œ ์ง€ํ•˜์ง€๋งŒ ๋ชจ๋“  ๊ฒƒ์ด ๋‹จ์ผ ์—”ํ„ฐํ‹ฐ, ์„œ๋น„์Šค ๋ฐ ๊ณต์œ  ํ…Œ์ด๋ธ”์ด ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋‚ด๋ถ€ ์ œํ•œ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด '๋‹จ์ˆœํ•˜๊ฒŒ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ'๊ณผ '๊ตฌ์กฐ ์—†์ด ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ'์˜ ์ฐจ์ด์ž…๋‹ˆ๋‹ค.

ํ‘œ์ค€๋ชจ๋“ˆํ˜• ๋‹จ์ผ์ฒด๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค
๋ฐฐํฌ๊ฐ€์žฅ ๋‹จ์ˆœํ•˜๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ๋…ํŠนํ•จ์„œ๋น„์Šค๋ณ„๋กœ ๋…๋ฆฝ
์ผ๊ด€์„ฑ๋กœ์ปฌ ํŠธ๋žœ์žญ์…˜์„ ์œ ์ง€ํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค.์ด๋ฒคํŠธ, Outbox ๋ฐ ์ตœ์ข… ์ผ๊ด€์„ฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
์ž‘์—…์ธํ”„๋ผ ๋น„์šฉ ์ ˆ๊ฐ๋” ๋งŽ์€ observability, ๋Œ€๊ธฐ์—ด, ์žฌ์‹œ๋„ ๋ฐ ์ž๋™ํ™”
๋ฆฌํŒฉํ† ๋ง์ฒ˜์Œ์—๋Š” ๋” ์ €๋ ดํ•ด์š”๊ณ„์•ฝ์ด ์ด๋ฏธ ๊ณต๊ฐœ๋œ ๊ฒฝ์šฐ์—๋Š” ๋” ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

Lino๋Š” ๋‘ ๊ฒฝ๋กœ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ์ •์€ ๊ธฐ์ˆ ์  ์„ ํ˜ธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒ€์˜ ์˜์—ญ๊ณผ ์šด์˜ ์—ญ๋Ÿ‰์„ ๋”ฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์—๋Š” ๋ฐฐํฌ ์ž๋™ํ™”, ๋ถ„์‚ฐ observability, ๊ณ„์•ฝ ๋ฒ„์ „ ๊ด€๋ฆฌ, ๋„คํŠธ์›Œํฌ ๋‚ด๊ฒฐํ•จ์„ฑ, ๋ฉ”์‹œ์ง•, ์žฌ์ฒ˜๋ฆฌ ๋ฐ ๋ฐ์ดํ„ฐ ๊ฑฐ๋ฒ„๋„Œ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํŒ€์ด ์•„์ง ์ด๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์šด์˜ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ๋„ˆ๋ฌด ๋นจ๋ฆฌ ๋ฐฐํฌํ•˜๋ฉด ์œ„ํ—˜์ด ์ปค์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

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

์„œ๋น„์Šค ๋ฐ ๋ชจ๋“ˆ ์ œํ•œ

์ข‹์€ ์ œํ•œ์€ ๊ฒฐํ•ฉ์„ ์ค„์ด๊ณ  ๋ˆ„๊ฐ€ ๊ฐ ๊ทœ์น™์„ ์†Œ์œ ํ•˜๋Š”์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”๋ณ„ ๋˜๋Š” ํ™”๋ฉด๋ณ„ ์„œ๋น„์Šค ์ƒ์„ฑ์„ ํ”ผํ•˜์„ธ์š”. ์„œ๋น„์Šค์™€ ๋ชจ๋“ˆ์€ ๋น„์ฆˆ๋‹ˆ์Šค ๊ธฐ๋Šฅ์„ ๋‚˜ํƒ€๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • Catalog: ์ œํ’ˆ, ์นดํ…Œ๊ณ ๋ฆฌ, ์ƒ์—… ์ •๋ณด ๋ฐ ํŒ๋งค ์ƒ๋‹ด ๋ฐ์ดํ„ฐ.
  • Sales: ์ฃผ๋ฌธ, ์žฅ๋ฐ”๊ตฌ๋‹ˆ, ์ ์šฉ๋œ ๊ฐ€๊ฒฉ, ์Šค๋ƒ…์ƒท ๋ฐ ์ƒ์—… ํ๋ฆ„.
  • Stock: ๊ฐ€์šฉ์„ฑ, ์˜ˆ์•ฝ ๋ฐ ์ด๋™.
  • Security: ์‚ฌ์šฉ์ž, ์—ญํ• , ๊ถŒํ•œ, ์ธ์ฆ ๋ฐ ํ† ํฐ.

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

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

  • ์ข‹์€ ์ œํ•œ ๊ธฐํ˜ธ: ๋ชจ๋“ˆ์€ ๋‚ด๋ถ€ ์„ธ๋ถ€ ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด ๋‹ค๋ฅธ ๋ชจ๋“ˆ์„ ๊ฐ•์ œ๋กœ ๋‹ค์‹œ ์ปดํŒŒ์ผํ•˜์ง€ ์•Š๊ณ ๋„ ์—”ํ„ฐํ‹ฐ์™€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๋ฐœ์ „์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์•ฝํ•œ ์ž„๊ณ„๊ฐ’ ์‹ ํ˜ธ: ์—”ํ„ฐํ‹ฐ๋ฅผ ๊ฐ„๋‹จํžˆ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ํ•ด๋‹น ์—”ํ„ฐํ‹ฐ๋ฅผ ์•Œ์•„์•ผ ํ•˜๋Š” ํ™”๋ฉด, ์ฟผ๋ฆฌ ๋ฐ ๋ชจ๋“ˆ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๊ฒ€ํ† ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ˆจ๊ฒจ์ง„ ์ข…์†์„ฑ ๊ธฐํ˜ธ: ์†Œ๋น„์ž๋Š” ํ…Œ์ด๋ธ”, ๊ธฐ์ˆ  ๋ถ„์•ผ ๋˜๋Š” ์ƒ์‚ฐ์ž์˜ ๋‚ด๋ถ€ ๊ทœ์น™์— ๋Œ€ํ•ด "๋„ˆ๋ฌด ๋งŽ์ด ์•Œ์•„์•ผ" ํ•ฉ๋‹ˆ๋‹ค.

์˜์‹์ ์ธ ๊ธฐ์ˆ  ๋ถ€์ฑ„

๊ธฐ์ˆ  ๋ถ€์ฑ„๋Š” ๋‹จ์ˆœํ•œ ๋ถˆ์™„์ „์„ฑ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ฏธ๋ž˜์˜ ๋น„์šฉ์„ ์•Œ๋ฉด์„œ ํ’ˆ์งˆ์„ ๋ฏธ๋ฃจ๋Š” ๊ฒฐ์ •์ด๋‹ค. ๋ฌธ์ œ๋Š” ์ด๋ฆ„๋„ ์—†๊ณ , ์†Œ์œ ์ž๋„ ์—†๊ณ , ์ง€๋ถˆ ๊ณ„ํš๋„ ์—†๋Š” ๋ถ€์ฑ„๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

SaaS ๋˜๋Š” ๋ชจ๋“ˆํ˜• ์‹œ์Šคํ…œ์—์„œ ๊ฐ€์žฅ ์œ„ํ—˜ํ•œ ๊ธฐ์ˆ  ๋ถ€์ฑ„๋Š” ๋‹จ์ˆœํ•œ ๋ฐฉ๋ฒ•์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ฐœ๋ณ„์ ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๋ชจ๋“ˆ, ์•ˆ์ •์ ์ธ ๊ฒฉ๋ฆฌ๊ฐ€ ์—†๋Š” tenant ๋ฐ์ดํ„ฐ, ์ €์žฅ์†Œ ๋‚ด์˜ secrets, ์ œํ•œ์ด ์—†๋Š” ๋ฏผ๊ฐํ•œ ์—”๋“œํฌ์ธํŠธ, ์žฌ์ฒ˜๋ฆฌ๊ฐ€ ์—†๋Š” ์ด๋ฒคํŠธ ๋˜๋Š” ๋ช…ํ™•ํ•œ ๊ณ„์•ฝ์ด ์—†๋Š” ํ†ตํ•ฉ ๋“ฑ ์ง„ํ™”๋ฅผ ์ œํ•œํ•˜๋Š” ๊ฒƒ์€ ๋ถ€์ฑ„์ž…๋‹ˆ๋‹ค.

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

๋ชจ๋“  ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ •์„ ๊ฐ์‚ฌ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง•์„ ํ™œ์„ฑํ™”ํ•˜์ง€ ์•Š๊ธฐ๋กœ ์„ ํƒํ•œ ๊ฒฝ์šฐ ํ˜„์žฌ ํ๋ฆ„์€ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์— ์˜์กดํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”. tenant๋‹น ์—ด์„ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ ํ•„ํ„ฐ์™€ ํ…Œ์ŠคํŠธ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. ๋™๊ธฐ์‹ ํ†ตํ•ฉ์„ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ ์‹œ๊ฐ„ ์ดˆ๊ณผ, ์‚ฌ์šฉ ๋ถˆ๊ฐ€ ๋ฐ ๊ณ„์•ฝ ์˜ค๋ฅ˜๋ฅผ ์„ค๊ณ„์˜ ์ผ๋ถ€๋กœ ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์ „๋žต

์ผ๊ด€์„ฑ, ๋Œ€๊ธฐ ์‹œ๊ฐ„, ์ถ”์ ์„ฑ ๋ฐ ๊ฒฐํ•ฉ์— ๋Œ€ํ•œ ์‹ค์ œ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ํ†ต์‹ ์„ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค. ์ฃผ์š” ์งˆ๋ฌธ์€ โ€œ์–ด๋–ค ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ๊ฐ€?โ€๊ฐ€ ์•„๋‹ˆ๋ผ โ€œ์ƒ์‚ฐ์ž๋Š” ์ง€๊ธˆ ๋Œ€๋‹ต์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์†Œ๋น„์ž๊ฐ€ ์ž‘์—…์„ ์ทจ์†Œํ•˜์ง€ ๋ชปํ•˜๋ฉด ๋ฐ์ดํ„ฐ์˜ ์†Œ์œ ์ž๋Š” ๋ˆ„๊ตฌ์ž…๋‹ˆ๊นŒ?โ€์ž…๋‹ˆ๋‹ค.

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

  • ๋™๊ธฐ ํ˜ธ์ถœ: ์ฆ‰๊ฐ์ ์ธ ์ƒ๋‹ด๊ณผ ์ˆ˜์šฉ ๊ฐ€๋Šฅํ•œ ์˜์กด์„ฑ์— ์ข‹์Šต๋‹ˆ๋‹ค. ๊ธด ํญํฌ์—์„œ๋Š” ํ”ผํ•˜์‹ญ์‹œ์˜ค.
  • ๋„๋ฉ”์ธ ์ด๋ฒคํŠธ: ๋™์ผํ•œ ์ ์šฉ ํ•œ๋„ ๋‚ด์—์„œ ๋‚ด๋ถ€ ๋ฐ˜์‘.
  • ํ†ตํ•ฉ ์ด๋ฒคํŠธ: ์ผ๋ฐ˜์ ์œผ๋กœ Outbox๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“ˆ, ์„œ๋น„์Šค ๋˜๋Š” ์‹œ์Šคํ…œ ๊ฐ„์˜ ํ†ต์‹ .
  • ๊ทธ๋ฆผ์ž ์—”ํ„ฐํ‹ฐ: ์ƒ์‚ฐ์ž์—๊ฒŒ ์ง์ ‘ ์˜์กดํ•˜์ง€ ์•Š๊ณ  ์ƒ๋‹ด ๋ฐ ๊ฒ€์ฆ์„ ์œ„ํ•œ ์ตœ์†Œํ•œ์˜ ๋กœ์ปฌ ์‚ฌ๋ณธ์ž…๋‹ˆ๋‹ค.
  • ์™ธ๋ถ€ HTTP ํ†ตํ•ฉ: ์‹œ๊ฐ„ ์ดˆ๊ณผ, ์žฌ์‹œ๋„, ๋กœ๊ทธ ๋ฐ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ํƒ€์‚ฌ ์„œ๋น„์Šค์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๊ทœ์น™์— ์ฆ‰์‹œ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋™๊ธฐ ์ŠคํŠธ๋ฆฌ๋ฐ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ž„๊ณ„๊ฐ’์„ ์ˆ˜์ •ํ•˜์„ธ์š”. ์ตœ์ข… ์ผ๊ด€์„ฑ์„ ํ—ˆ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ฒฐํ•ฉ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ด๋ฒคํŠธ๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์†Œ๋น„์ž๊ฐ€ ๋‹ค๋ฅธ ์ปจํ…์ŠคํŠธ์—์„œ ๋ฐ์ดํ„ฐ์˜ ์ž‘์€ ํ•˜์œ„ ์ง‘ํ•ฉ๋งŒ ์ฝ์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ „์ฒด ์›๋ณธ ์—”ํ„ฐํ‹ฐ๋ฅผ ๋…ธ์ถœํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์„€๋„์šฐ ์—”ํ„ฐํ‹ฐ๊ฐ€ ๋” ์•ˆ์ „ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์งˆ๋ฌธ์ถ”์ฒœ๋ฐฉํ–ฅ
์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์™„๋ฃŒํ•˜๋ ค๋ฉด ์‘๋‹ต์ด ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ?์‹œ๊ฐ„ ์ดˆ๊ณผ, ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์˜ค๋ฅ˜ ๋ฐ ๋ช…ํ™•ํ•œ ๊ณ„์•ฝ์„ ๊ฐ–์ถ˜ ๋ช…์‹œ์  ๋™๊ธฐ์‹ ํ†ตํ•ฉ์ž…๋‹ˆ๋‹ค.
์†Œ๋น„์ž๊ฐ€ ์ž๋ฆฌ๋ฅผ ๋น„์šด ๊ฒฝ์šฐ์—๋„ ์ƒ์‚ฐ์ž๋Š” ๊ฑฐ๋ž˜๋ฅผ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?Outbox ๋ฐ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์™€์˜ ํ†ตํ•ฉ ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.
์†Œ๋น„์ž๋Š” ์ตœ์†Œํ•œ์˜ ๋ฐ์ดํ„ฐ๋งŒ ๊ฒ€์ฆํ•˜๊ฑฐ๋‚˜ ์ฐธ์กฐํ•˜๋ฉด ๋˜๋‚˜์š”?์ฝ๊ธฐ ๋ชจ๋ธ์˜ ๋กœ์ปฌ ์†Œ์œ ๊ถŒ์„ ๊ฐ–๊ณ  ์ด๋ฒคํŠธ ๋˜๋Š” ํ†ตํ•ฉ์œผ๋กœ ๊ตฌ๋™๋˜๋Š” ์„€๋„์šฐ ์—”ํ„ฐํ‹ฐ์ž…๋‹ˆ๋‹ค.
๋™์ผํ•œ ์ง‘๊ณ„ ๋˜๋Š” ์ œํ•œ๋œ ์ปจํ…์ŠคํŠธ ๋‚ด์—์„œ ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ?๋ถˆํ•„์š”ํ•œ ์™ธ๋ถ€ ๊ณ„์•ฝ์„ ๊ฒŒ์‹œํ•˜์ง€ ์•Š๊ณ  ๋„๋ฉ”์ธ ์ด๋ฒคํŠธ ๋˜๋Š” ๋„๋ฉ”์ธ-๋กœ์ปฌ ๋…ผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
처리되지 않은 오류가 발생했습니다. 새로 고침 ๐Ÿ—™