01. MSA & EDA

Monolithic

  • ์žฅ์ 

    • ์†Œ๊ทœ๋ชจ ์„œ๋น„์Šค์—์„œ ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ์šด์˜(๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง)์ด ์šฉ์ดํ•จ.

  • ๋‹จ์ 

    • ๋Œ€๊ทœ๋ชจ ์„œ๋น„์Šค์—์„œ ์กฐ๊ทธ๋งŒํ•œ ์ˆ˜์ •์—๋„ ์ „์ฒด ๋นŒ๋“œ๊ฐ€ ํ•„์š”(๋นŒ๋“œ์‹œ๊ฐ„ ์ฆ๊ฐ€).

    • ์ˆ˜์ •๊ณผ ๋ฌด๊ด€ํ•œ ๋ชจ๋“ˆ์˜ ์žฌ๋ฐฐํฌ ๋ถˆ๊ฐ€ํ”ผ, scale-out ๋ถˆ๋ฆฌ

MSA

  • ์žฅ์ 

    • ๊ฐ ์„œ๋น„์Šค ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ, scale-out ๊ฐ€๋Šฅํ•จ. CI/CD ๋‹ฌ์„ฑ ๊ฐ€๋Šฅ.

    • ์„œ๋น„์Šค๋ณ„๋กœ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์–ธ์–ด / DB ์‚ฌ์šฉ ๊ฐ€๋Šฅ(๊ฐ ์„œ๋น„์Šค๋Š” api๋กœ ์ถ”์ƒํ™”)

  • ๋‹จ์ 

    • ๊ฐœ๋ฐœ ๋ณต์žก๋„์™€ ํ†ต์‹  ์˜ค๋ฒ„ํ—ค๋“œ ์ฆ๊ฐ€, ํ†ตํ•ฉํ…Œ์ŠคํŠธ ๋ถˆ๋ฆฌ, ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ

Event Driven Architecture

MSA & EDA

  • Event: ์‹œ์Šคํ…œ์˜ ๋‚ด๋ถ€๋‚˜ ์™ธ๋ถ€์—์„œ ์œ ๋ฐœ๋œ ์‹œ์Šคํ…œ ์ƒํƒœ์˜ ์ค‘์š”ํ•œ ๋ณ€ํ™” ๋˜๋Š” ์˜๋ฏธ์žˆ๋Š” ์‚ฌ๊ฑด

    • cf> IoT ์„ผ์„œ, ๋งˆ์šฐ์Šค/ํ‚ค๋ณด๋“œ ์ž…์ถœ๋ ฅ

  • Event Driven Architecture: ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ ๋น„๋™๊ธฐ ํ†ต์‹  ๋ฐฉ์‹์œผ๋กœ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœํ–‰/๊ตฌ๋…ํ•˜๋Š” ์•„ํ‚คํ…์ณ

  • ๋™๊ธฐ, ๋น„๋™๊ธฐ ํ†ต์‹ 

    1. ๋™๊ธฐ ํ†ต์‹ : (RESTful API๋ฅผ ๋น„๋กฏํ•œ) API๋ฅผ ํ†ตํ•œ ์š”์ฒญ-์‘๋‹ต ๋ฐฉ์‹(peer to peer)

      • peer๊ฐ€ ํ•ญ์ƒ ์ž‘๋™ํ•ด์•ผํ•œ๋‹ค. โ†’ ์•„๋‹Œ๊ฒฝ์šฐ, ๋ฉ”์‹œ์ง€ ์œ ์‹ค

      • ์„œ๋น„์Šค๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋ณต์žก๋„๊ฐ€ ๋Š˜์–ด๋‚œ๋‹ค.

    2. ๋น„๋™๊ธฐ ํ†ต์‹ : Event Channel(Message Broker, Kafka)๋ฅผ ํ†ตํ•œ pub/sub ๋ฐฉ์‹

      • ์ด๋ฒคํŠธ ์ฑ„๋„์˜ ์ฃผ์†Œ๋งŒ ์•Œ๊ณ  ์žˆ์œผ๋ฉด ํ†ต์‹  ๊ฐ€๋Šฅ

      • ์ด๋ฒคํŠธ ์ฑ„๋„์˜ ์˜ค๋ฅ˜๊ฐ€ ํฌ๋ฆฌํ‹ฐ์ปฌํ•˜๋‹ค.

  • EDM = Event Driven Architecture๋ฅผ ์ ์šฉํ•œ MicroService

    1. ๋น„๋™๊ธฐ ํ†ต์‹  ์‚ฌ์šฉ - ๊ฐ MicroService๊ฐ„ ๋Š์Šจํ•œ ๊ฒฐํ•ฉ๋„(Loosely Coupled) ์œ ์ง€ ๊ฐ€๋Šฅ

    2. EDM์—์„œ ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ๋Š” ์ด๋ฒคํŠธ ์Šคํ† ์–ด์— ์ €์žฅ(์ด๋ฒคํŠธ ๋กœ๊ทธ)

    3. Transaction Management: Retry, Rollback

Last updated